Загрузчик музыки на основе qt, написанный на Python.
Если у вас есть идея по улучшению или функции, создайте проблему или присоединитесь к серверу Discord для обсуждения!
Убедитесь, что ffmpeg, python3 и Git установлены и доступны в вашем $PATH
. Если вы используете Windows, вам также необходимо установить инструменты сборки Microsoft C++ и перезагрузить компьютер перед началом процесса сборки.
Загрузите или клонируйте git clone https://github.com/casualsnek/onthespot
Перейдите в каталог onthespot cd onthespot
Установите пакет pip install -r requirements.txt
Перейдите в исходный каталог cd src
Запустите приложение с помощью python3 -m onthespot
Требования такие же, как «Запуск без установки» выше.
Загрузите или клонируйте git clone https://github.com/casualsnek/onthespot
Перейдите в каталог onthespot cd onthespot
Соберите пакет python -m build
Установите пакет pip install ./dist/*.whl
Запустите приложение с помощью onthespot_gui
onthespot
доступен для Arch Linux и дистрибутивов на базе Arch Linux в пользовательском репозитории Arch (aur) как onthespot-git.
Вы можете установить onthespot
используя свой любимый помощник.
Например: использование yay
yay -Sy onthespot-git
Загрузите последнюю версию «onthespot_linux» из раздела релизов и запустите с помощью
chmod +x onthespot_linux ./onethespot_linux
Загрузите последнюю версию «onthespot_win_ffm.exe» или «onthespot_win.exe» из раздела «Выпуск» и запустите, дважды щелкнув загруженный файл.
Двоичные файлы с именем файла, заканчивающимся на «_ffm», имеют в комплекте ffmpeg и не требуют установки вручную.
Если вы используете двоичные файлы, которые не связаны с ffmpeg, и загрузка зависает на 99% с текстом Converting
при выполнении», вам не хватает ffmpeg! Пожалуйста, установите его, следуя инструкциям ниже.
Откройте проводник Windows, перейдите на диск C:
и создайте там имя папки ffmpeg
Загрузите zip-архив ffmpeg с https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z, затем скопируйте папку bin
из zip-архива в C:ffmpeg
Откройте CMD от имени администратора и выполните команду: setx /m PATH "C:ffmpegbin;%PATH%"
Теперь приложение должно работать как положено.
Для сборки или упаковки в любой ОС требуются установленные Git, Python3 и Pip. Убедитесь, что они у вас установлены!
Откройте эмулятор терминала и выполните следующую команду, чтобы клонировать репозиторий и выполнить сборку.
git клон https://github.com/casualsnek/onthespotcd onthespot
Если вам нужны сборки со встроенным ffmpeg, загрузите двоичные файлы ffmpeg для вашей ОС отсюда. Создайте новый каталог с именем «ffbin_nix» в корневом каталоге репозитория. Скопируйте три файла «ffmpeg», «ffprobe», «ffplay» из загруженного архива в только что созданный каталог «ffbin_nix», затем запустите;
bash ./build_linux.sh
После завершения команды у вас должен появиться каталог dist в корне репозитория, содержащий встроенный двоичный файл onthespot_linux.
Откройте cmd и выполните следующую команду, чтобы клонировать репозиторий и выполнить сборку.
git клон https://github.com/casualsnek/onthespotcd onthespot
Если у вас не установлен git, вы также можете загрузить zip-архив исходного кода проекта с github, распаковать его и открыть cmd в корне репозитория. Если вам нужны сборки со встроенным ffmpeg, загрузите двоичные файлы ffmpeg для вашей ОС отсюда. Создайте новый каталог с именем «ffbin_win» в корневом каталоге репозитория. Скопируйте три файла «ffmpeg.exe», «ffprobe.exe», «ffplay.exe» из загруженного архива в только что созданный каталог «ffbin_win», затем запустите;
build_winC1.bat build_winC2.bat
После завершения команды в корне репозитория должен появиться каталог dist, содержащий встроенный двоичный файл onthespot_win.exe.
ПРИМЕЧАНИЕ. При этом создается приложение только для конкретной архитектуры процессора, на которой вы работаете. Он не создает универсальный двоичный файл
Откройте эмулятор терминала и выполните следующую команду, чтобы клонировать репозиторий и выполнить сборку.
git клон https://github.com/casualsnek/onthespotcd onthespot
Если вам нужны сборки со встроенным ffmpeg, загрузите двоичные файлы ffmpeg для вашей ОС отсюда. Создайте новый каталог с именем «ffbin_mac» в корневом каталоге репозитория. Скопируйте три файла «ffmpeg», «ffprobe», «ffplay» из загруженного архива во вновь созданный каталог «ffbin_mac», затем запустите:
./build_mac.sh
После завершения команды в корне репозитория должен появиться каталог dist, содержащий двоичный файл onthespot_mac.app.
Вы также можете построить onthespot как колесо и установить его как модуль Python через pip в вашей системе. Он обеспечивает лучшую интеграцию с системой, например, использование стиля и тем Qt вашей системы, а также вы можете использовать предоставленный значок и файл .desktop для лучшей интеграции с системами Linux.
Убедитесь, что у вас установлены инструменты настройки!
Откройте эмулятор терминала и выполните следующую команду, чтобы клонировать репозиторий и выполнить сборку.
git клон https://github.com/casualsnek/onthespotcd onthespot python -m построить
Это создаст каталог dist, содержащий файл .whl, который теперь можно установить с помощью pip. Приложение можно запустить с помощью команды onthespot_gui
или python3 -m onthespot
после установки!
ПРИМЕЧАНИЕ. Если вы упаковываете onthespot для распространения, скопируйте src/onthespot/resources/icon.svg
в /usr/share/icons/hicolor/scalable/apps/casual_onthespot.svg
или $HOME/.local/share/icons/hicolor/scalable/apps/casual_onthespot.svg
и src/onthespot/resources/org.eu.casualsnek.onthespot.desktop
в /usr/share/applications/org.eu.casualsnek.onthespot.desktop
или $HOME/.local/share/applications/org.eu.casualsnek.onthespot.desktop
. Это позволяет лучше интегрировать приложение в среду рабочего стола!
Если у вас есть идеи по улучшению/функции, создайте проблему или присоединитесь к серверу Discord для обсуждения!
При первом запуске приложения вы получите предупреждение о том, что учетные записи Spotify не добавлены. Отклоните предупреждение и добавьте свои учетные записи внизу вкладки конфигурации. Наличие нескольких учетных записей позволит вам загружать несколько песен одновременно.
На вкладке «Поиск» вы можете ввести свой запрос и нажать search
для поиска песен/исполнителей/альбомов/плейлистов. Затем вы можете загрузить медиафайлы из полученного списка, нажав кнопку download
. При желании вы можете выполнить массовую загрузку, нажав любую кнопку под таблицей. Обратите внимание, что анализ и загрузка типа носителя, отличного от «Дорожки», может занять немного больше времени. В этом состоянии приложение может оказаться зависшим!
Введите URL-адрес в поле поиска и нажмите «Загрузить». Вы также можете ввести путь к текстовому файлу, содержащему URL-адрес, и все URL-адреса в нем будут поставлены в очередь! Обратите внимание, что анализ и загрузка типа носителя, отличного от «Дорожки», может занять немного больше времени. В этом состоянии приложение может оказаться зависшим!
Статус и ход загрузки можно просмотреть, перейдя на вкладку «Прогресс».
Максимальное количество рабочих загрузки : это количество потоков, которые будут использоваться для загрузки мультимедиа. Установите это количество аккаунтов, которые вы добавили. Изменение этого параметра требует перезапуска приложения, чтобы оно вступило в силу.
Серийный номер учетной записи анализа : это номер, отображаемый слева от имени пользователя в таблице учетных записей. Номер — это аккаунт, ответственный за предоставление результатов поиска и анализ URL-адресов загрузки.
Местоположение загрузки : корневая папка, в которой размещаются загруженные медиафайлы.
Задержка загрузки : время ожидания в секундах перед следующей загрузкой после успешной загрузки.
Максимальное количество повторов : количество повторных попыток загрузки, прежде чем продолжить.
Максимальное количество результатов поиска : количество элементов, отображаемых в результатах поиска для каждого типа носителя. Пример: установка значения «1» показывает один результат для исполнителя, альбома, трека и списка воспроизведения, в результате чего всего получается 4 результата поиска.
Загрузка необработанных медиафайлов : загружает файлы (они будут в формате .ogg) на диск без преобразования в заданный формат мультимедиа, а также отключает запись метаданных и встраивание миниатюр.
Принудительно использовать премиум-аккаунт : используйте этот параметр, если в таблице учетных записей указано «БЕСПЛАТНО». Это относится ко всем добавленным учетным записям, поэтому не рекомендуется использовать его с комбинацией бесплатных и премиум-аккаунтов. Не используйте, если аккаунт не премиум.
Включить воспроизведение в настольном приложении для загрузки . Включение автоматически загрузит песни, которые вы воспроизводите в настольном приложении Spotify. (Поддерживается: Linux/Windows)
Показать/скрыть расширенную конфигурацию : включить/отключить вкладку «Расширенная конфигурация».
Сохранить настройки : сохраняет/применяет настройки.
Имена треков по умолчанию: AlbumFormatter/TrackName
Формат имени трека : эта опция позволяет вам установить схему именования загруженных треков. Переменные можно использовать, заключая их между {}
. В схеме именования можно использовать несколько переменных:
Artist: Имя исполнителя трека.
альбом: Название альбома, в котором находится трек *
name : Название трека
rel_year : Год выпуска трека.
disk_number : Номер диска, на котором находится трек *
track_number : Серийный номер трека в альбоме *
playlist_name: название плейлиста, если трек загружается как часть плейлиста *
playlist_owner: название плейлиста, если трек загружается как часть плейлиста *
playlist_desc : Описание списка воспроизведения, если трек загружается как часть списка воспроизведения *
жанр : Жанр песни *
лейбл: Название звукозаписывающей компании.
явное: «Явное», если песня помечена как откровенная, иначе она будет пустой.
trackcount: общее количество треков в альбоме, в котором находится этот трек.
Disccount: Общее количество дисков в альбоме, в котором находится этот трек.
Spotid: идентификатор Spotify
Пример: Song: {name} of album: {album} Released in {rel_year}
.
Значение переменных, описание которых заканчивается на *, в некоторых случаях может быть пустым. Это также может быть путь.
Средство форматирования имени каталога альбома : этот параметр позволяет установить схему именования каталогов для загруженных треков. Переменные можно использовать, заключая их между {}
. В схеме именования можно использовать несколько переменных:
исполнитель: имя главного исполнителя альбома
rel_year: год выпуска альбома *
альбом: название альбома
playlist_name: название плейлиста, если трек загружается как часть плейлиста *
playlist_owner: название плейлиста, если трек загружается как часть плейлиста *
playlist_desc : Описание списка воспроизведения, если трек загружается как часть списка воспроизведения *
жанр : Жанр песни *
лейбл: Название звукозаписывающей компании.
Пример: {artist}/{rel_year}/{album}
.
Значение переменных, описание которых заканчивается на *, в некоторых случаях может быть пустым. Это тоже может быть путь.
Размер фрагмента загрузки : Размер фрагментов (в байтах), используемых для загрузки.
Отключить уведомление о массовой загрузке . Включение этого параметра приведет к отключению всплывающих диалоговых окон о статусе при использовании массовой загрузки.
Задержка повторной попытки восстановимых загрузок : время ожидания перед повторной попыткой загрузки после неудачной попытки.
Пропустить байты в конце (пропустить байты окончания загрузки) : иногда последние несколько байтов трека не могут быть загружены, что приводит к ошибке «PD Error», из-за которой загрузка постоянно прерывается. Эта опция устанавливает количество байтов, на которые будет пропущена загрузка в этом случае. Значение может измениться, но текущее рабочее значение составляет «167» байт. Если вы получаете «ошибки декодирования» или неполную загрузку песен, попробуйте установить значение 0.
Принудительно указывать каталог исполнителя/альбома для элементов трека/списка воспроизведения : если этот параметр отключен, загруженные треки будут помещены в корень каталога загрузки, а не в каталоги исполнителей/альбомов. Включение этого параметра может привести к замедлению анализа загрузки, но упрощает организацию музыки.
Формат мультимедиа : формат мультимедиа, в котором вы хотите загрузить окончательную музыку. Не включайте '.' в этом. Этот параметр будет игнорироваться при использовании опции загрузки необработанных носителей.
Ошибка декодирования. Если вы получаете эту ошибку, возможно, ваша учетная запись заблокирована. Подождите некоторое время или попробуйте другую учетную запись. Приложение может часто аварийно завершать работу, поскольку еще не существует надлежащей обработки исключений. Вы можете помочь, открыв новую задачу с сообщением об ошибке, отображаемым в окне консоли после того, как приложение работает неправильно.
Вы можете написать код, включающий дополнительные функции или исправления ошибок, или создавать проблемы, связанные с ошибками и функциями, или просто распространять информацию о приложении :) Если вы хотите поддержать финансово, вы можете посетить Здесь и поддержать через открытый коллектив или BTC, если хотите. проект, поддержите его, поставив ему звезду :) !