Python で書かれた QT ベースの音楽ダウンローダー。
改善や機能のアイデアがある場合は、問題を作成するか、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 ユーザー リポジトリ (aur) 内の onthespot-git として、arch linux および Arch linux ベースのディストリビューションで使用できます。
お気に入りの aur ヘルパーを使用して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
として作成します。
https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z から ffmpeg zip をダウンロードし、zip からbin
フォルダーをC:ffmpeg
にコピーします。
管理者として CMD を開き、コマンドsetx /m PATH "C:ffmpegbin;%PATH%"
を実行します。
これで、アプリケーションは期待どおりに動作するはずです。
どの OS 上でもビルドまたはパッケージ化するには、Git、Python3、および Pip がインストールされている必要があります。必ずインストールしてください。
ターミナル エミュレーターを開き、次のコマンドを実行してリポジトリのクローンを作成し、ビルドします。
git clone https://github.com/casualsnek/onthespotcd onthespot
ffmpeg が埋め込まれたビルドが必要な場合は、ここからお使いの OS 用の ffmpeg バイナリをダウンロードしてください。リポジトリのルート ディレクトリに「ffbin_nix」という名前の新しいディレクトリを作成します。ダウンロードしたアーカイブから 3 つのファイル「ffmpeg」、「ffprobe」、「ffplay」を作成したばかりの「ffbin_nix」ディレクトリにコピーして実行します。
bash ./build_linux.sh
コマンドが完了すると、リポジトリ ルートにビルドされた「onthespot_linux」バイナリを含む「dist」ディレクトリが作成されます。
cmd を開き、次のコマンドを実行してリポジトリのクローンを作成し、ビルドします。
git clone https://github.com/casualsnek/onthespotcd onthespot
git がインストールされていない場合は、github からプロジェクト ソース zip をダウンロードして解凍し、リポジトリ ルートで cmd を開くこともできます。 ffmpeg が埋め込まれたビルドが必要な場合は、ここからお使いの OS 用の ffmpeg バイナリをダウンロードしてください。リポジトリのルート ディレクトリに「ffbin_win」という名前の新しいディレクトリを作成します。ダウンロードしたアーカイブから 3 つのファイル「ffmpeg.exe」、「ffprobe.exe」、「ffplay.exe」を作成したばかりの「ffbin_win」ディレクトリにコピーして実行します。
build_winC1.bat build_winC2.bat
コマンドが完了すると、リポジトリ ルートにビルドされた「onthespot_win.exe」バイナリを含む「dist」ディレクトリが作成されます。
注 :これは、使用している特定のプロセッサ アーキテクチャ用のアプリのみを構築します。ユニバーサルバイナリは構築されません
ターミナル エミュレーターを開き、次のコマンドを実行してリポジトリのクローンを作成し、ビルドします。
git clone https://github.com/casualsnek/onthespotcd onthespot
ffmpeg が埋め込まれたビルドが必要な場合は、ここからお使いの OS 用の ffmpeg バイナリをダウンロードしてください。リポジトリのルート ディレクトリに「ffbin_mac」という名前の新しいディレクトリを作成します。ダウンロードしたアーカイブから 3 つのファイル「ffmpeg」、「ffprobe」、「ffplay」を新しく作成した「ffbin_mac」ディレクトリにコピーし、次のコマンドを実行します。
./build_mac.sh
コマンドが完了すると、リポジトリ ルートに「onthespot_mac.app」バイナリを含む「dist」ディレクトリが作成されます。
ホイールとしてその場でビルドし、pip 経由で Python モジュールとしてシステムにインストールすることもできます。システムの Qt スタイルとテーマを使用するなど、システムとの統合が向上します。また、提供されたアイコンと .desktop ファイルを使用して、Linux システムでの統合を向上させることもできます。
セットアップツールがインストールされていることを確認してください。
ターミナル エミュレーターを開き、次のコマンドを実行してリポジトリのクローンを作成し、ビルドします。
git clone https://github.com/casualsnek/onthespotcd onthespot Python -m ビルド
これにより、.whl ファイルを含む dist ディレクトリが作成され、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
にコピーします。 $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 がキューに入れられます。 「トラック」以外のメディア タイプは、解析とダウンロードに少し時間がかかる場合があることに注意してください。この状態では、アプリケーションがフリーズしているように見える場合があります。
ダウンロードのステータスと進行状況は、「進行状況」タブに移動して確認できます。
最大ダウンロード ワーカー: メディアのダウンロードに使用されるスレッドの数です。これを追加したアカウントの数に設定します。この設定を変更するには、アプリケーションを再起動する必要があります。
解析アカウント SN : アカウント表のユーザー名の左側に表示される番号です。この番号は、検索結果の提供とダウンロード URL の解析を担当するアカウントです。
ダウンロードの場所: ダウンロードしたメディアが配置されるルート フォルダー。
ダウンロード遅延: ダウンロードが成功した後、次のダウンロードまでに待機する時間 (秒単位)。
Max retries : 次に進む前にダウンロードを再試行する回数。
最大検索結果: メディアの種類ごとに検索結果に表示されるアイテムの数。例: 「1」に設定すると、アーティスト、アルバム、トラック、プレイリストに対して 1 つの結果が表示され、合計 4 つの検索結果が表示されます。
Raw メディア ダウンロード: 設定されたメディア形式に変換せずにファイル (.ogg になります) をディスクにダウンロードします。また、メタデータの書き込みとサムネイルの埋め込みも無効になります。
プレミアムを強制する: アカウント表でプレミアム アカウントが無料と表示されている場合にこれを使用します。これは追加されたすべてのアカウントに適用されるため、無料アカウントとプレミアム アカウントを組み合わせて使用することはお勧めできません。アカウントがプレミアムでない場合は使用しないでください。
デスクトップ アプリの再生でダウンロードを有効にする: 有効にすると、Spotify デスクトップ アプリケーションで再生した曲が自動的にダウンロードされます。 (対応:Linux/Windows)
[詳細設定の表示/非表示] : [詳細設定] タブを有効または無効にします。
設定保存:設定を保存/適用します
デフォルトのトラック名はAlbumFormatter/TrackName
です。
トラック名フォーマッタ: このオプションを使用すると、ダウンロードしたトラックの命名スキームを設定できます。変数は、 {}
で囲んで使用できます。命名スキームで使用できる変数がいくつかあります。
アーティスト : 曲のアーティスト名
album : トラックが入っているアルバムの名前 *
name : トラック名
rel_year : トラックのリリース年
disc_number : トラックが存在するディスク番号 *
track_number : アルバム内のトラックのシリアル番号 *
playlist_name : トラックがプレイリストの一部としてダウンロードされている場合のプレイリストの名前 *
playlist_owner : トラックがプレイリストの一部としてダウンロードされている場合のプレイリストの名前 *
playlist_desc : トラックがプレイリストの一部としてダウンロードされている場合のプレイリストの説明 *
ジャンル : 曲のジャンル *
label : レコードレーベル名
明示的: 曲に明示的とマークされている場合は「明示的」、それ以外の場合は空白になります。
trackcount : このトラックが含まれるアルバムのトラックの総数
disccount : このトラックが含まれるアルバムのディスクの総数
Spotid : Spotify ID
例: Song: {name} of album: {album} Released in {rel_year}
。
説明が * で終わる変数の値は、場合によっては空になることがあります。これもパスになる可能性があります。
アルバム ディレクトリ名フォーマッタ: このオプションを使用すると、ダウンロードしたトラックのディレクトリの命名スキームを設定できます。変数は、 {}
で囲んで使用できます。命名スキームで使用できる変数がいくつかあります。
アーティスト : アルバムのメインアーティスト名
rel_year: アルバムのリリース年 *
アルバム: アルバムの名前
playlist_name : トラックがプレイリストの一部としてダウンロードされている場合のプレイリストの名前 *
playlist_owner : トラックがプレイリストの一部としてダウンロードされている場合のプレイリストの名前 *
playlist_desc : トラックがプレイリストの一部としてダウンロードされている場合のプレイリストの説明 *
ジャンル : 曲のジャンル *
label : レコードレーベル名
例: {artist}/{rel_year}/{album}
。
説明が * で終わる変数の値は、場合によっては空になることがあります。これもパスになる可能性があります。
ダウンロード チャンク サイズ: ダウンロードに使用されるチャンクのサイズ (バイト)。
一括ダウンロード通知を無効にする: これを有効にすると、一括ダウンロードの使用時にステータスに関するポップアップ ダイアログが無効になります。
回復可能なダウンロードの再試行遅延: 試行が失敗した後、別のダウンロードを試行するまでの待機時間。
最後にバイトをスキップ (ダウンロード終了スキップ バイト) : トラックの最後の数バイトをダウンロードできない場合があり、ダウンロードが常に失敗する「PD エラー」が発生します。このオプションは、これが発生した場合にダウンロードをスキップするバイト数を設定します。値は変更される可能性がありますが、現在の有効値は「167」バイトです。 「デコード エラー」が発生したり、曲のダウンロードが不完全な場合は、0 に設定してみてください。
トラック/プレイリスト項目にアーティスト/アルバム ディレクトリを強制する: これが無効になっている場合、ダウンロードされたトラックはアーティスト/アルバム ディレクトリではなくダウンロード ディレクトリのルートに配置されます。これを有効にすると、ダウンロードの解析が遅くなる可能性がありますが、音楽の整理が容易になります。
メディア形式: 最終的に音楽をダウンロードするメディア形式。「.」は含めないでください。その中で。 RAW メディア ダウンロード オプションの使用中、この設定は無視されます。
デコード エラー: このエラーが発生した場合は、アカウントが制限されている可能性があります。しばらく待つか、別のアカウントを試してください。適切な例外処理がまだないため、アプリケーションが頻繁にクラッシュする可能性があります。アプリケーションが誤動作した後、コンソール ウィンドウに表示されるエラー メッセージで新しい問題を開くと解決できます。
追加の機能やバグ修正を含めるコードを作成したり、バグや機能に関する問題を作成したり、単にアプリケーションに関する作業を広めたりすることができます :) 経済的にサポートしたい場合は、ここにアクセスして、オープンコレクティブまたは BTC を通じてサポートできます。このプロジェクトに星を付けてサポートを示してください:)!