vibecoded
#025 ·

Siply

Музыкальный плеер для macOS, который играет прямо из папок

собран за 2 дня·Claude CodeSwiftSwiftUI
Открыть продукт ↗
Окно Siply в тёмной теме: слева дерево папок с выделенной «This Is Leonid Agutin», справа обложка альбома, кнопки «Воспроизвести» и «Перемешать» и таблица треков; внизу плавающая панель плеера с играющим «Большое небо»

Открываешь папку с музыкой — и слушаешь. Слева дерево папок, справа треки выбранной папки с обложками, артистами и альбомами из тегов. Ничего не импортируется и не индексируется: папки и есть медиатека. Окно сделано в духе Apple Music, панель плеера плавает поверх списка. Ставится из DMG, сборка подписана и нотаризована Apple.

Что умеет

Играет всё, что понимает сама macOS: MP3, AAC, FLAC, WAV, AIFF, включая lossless. У папки есть шапка с обложкой из тегов или из cover.jpg и кнопками «Воспроизвести» и «Перемешать», поиск по трекам и колонки, которые запоминают ширину. Пробел ставит на паузу, Enter играет выбранный трек, работают медиаклавиши и Пункт управления. На macOS 26 панель плеера сделана из Liquid Glass.

Кириллица из старых mp3

Старые файлы часто хранят теги в Windows-1251, но помечают их как Latin-1, и плееры показывают «Ñåðãåé Ìàçàåâ» вместо «Сергей Мазаев». Siply распознаёт такие строки и перечитывает их в правильной кодировке. Настоящие латинские имена с диакритикой вроде Beyoncé при этом не трогаются: перекодируется только строка, где таких букв больше половины.

Как устроено

Swift, SwiftUI и AVFoundation, ни одной сторонней зависимости. Таблица треков — нативный NSTableView, поэтому длинные папки листаются без задержек. Плеер отделён от звукового движка, и вся логика очереди, повтора и перемешивания покрыта тестами на подставном движке. Ограничения: одна корневая папка, треки показываются без вложенных папок, форматы только те, что играет macOS, — без OGG и APE.

заметка куратора

Плеер для тех, у кого музыка до сих пор лежит в папках, и это не повод заводить медиатеку. Окно спокойное и узнаваемое, без настроек ради настроек. Отдельно приятно, что починены кракозябры в тегах старых mp3 — проблема, о которой большинство плееров давно забыли.

автор · @artps
для автора · бейдж на ваш сайт
запущено на vibecoded.ru
<a href="https://vibecoded.ru/products/siply">
  <img src="https://vibecoded.ru/badge.svg" alt="запущено на vibecoded.ru" width="200" height="44">
</a>

Похожие запуски