このプロジェクトについて

Viboplrは、macOSとWindows向けのプラグイン優先のデスクトップ音楽プレイヤーで、Tauri 2、React、Rustで構築されています。ローカルフォルダとリモート音楽サービスからオーディオとビデオを再生し、オーケストレーターとして機能します。プラグインシステムがストリーミングプロバイダー、メタデータサービス、歌詞データベース、画像ソースを接続し、コアアプリが再生、ライブラリ管理、UIを処理します。 ライブラリ管理 ローカルフォルダは、進捗レポートとリアルタイムのファイル監視を備えたバックグラウンドでスキャンされます。Subsonic/Navidromeコレクションは同じライブラリに同期され、リモートコレクションはプラグインを介して接続できます。ローカルトラックは、自己完結型でホスト可能な音楽ソース(マニフェストとファイル)としてエクスポートでき、公開されたマニフェストはコレクションとして購読できます。メタデータはloftyタグライブラリを介して読み取られ、ファイル名解析のフォールバックがあり、検索はSQLite FTS5を使用してタイトル、アーティスト、アルバム、ジャンル、ファイル名を対象に、アクセントと大文字小文字を区別せずに実行されます。ジャンルメタデータはタグとして保存され、トラックとの多対多の関係を持ちます。 再生 デフォルトのエンジンはネイティブのmpvで、バンドルされたlibmpv上に構築され、ネイティブデコード、ギャップレス再生、排他的(ビットパーフェクト)オーディオ出力を提供し、両プラットフォームでネイティブビデオレンダリングをサポートします。システムWebViewを介したHTML5ブラウザエンジンが自動フォールバックとして機能します。その他の再生機能には、10バンドイコライザー、ReplayGain正規化、最大10秒の設定可能なクロスフェード、ターンテーブルスタイルの速度制御、ドラッグアンドドロップのキュー管理、自動継続ルール、トラック、アーティスト、タグからのエンドレスラジオ局、3状態のいいね、常に最前面のコンパクトなミニプレイヤー、ビデオのストーリーボードプレビュー付き波形シークバーが含まれます。 ビューとスキン ビューには、ホーム(ラジオカルーセルとシェルフ)、同期されたカラオケ歌詞とプラグインビジュアライザーを備えた全画面の再生中ビュー、アーティスト、アルバム、タグ、トラックの詳細ページ、タブ付き履歴ビュー、M3U8および.mixtapeのエクスポート/インポートを備えたプレイリスト、コレクションマネージャーが含まれます。8つの組み込みスキン(Default、OLED Black、Arctic Light、Forest、Silver、Ocean Blue、Viboplr、Sunset)が含まれ、カスタムJSONスキン、コミュニティギャラリー、19のカラートークン、オプションのサニタイズされたスキンごとのCSSをサポートします。 プラグインと統合 JavaScriptプラグインが主要な拡張メカニズムであり、ストリーミング、メタデータ、歌詞、画像解決、ダウンロード、コンテキストメニュー項目、サイドバービュー、ホームシェルフ、再生中情報項目、ビジュアライザー、イベントフック、設定パネル、スケジューラタスクを提供します。組み込みプラグインは、Last.fmのスクロブリングとメタデータ、LRCLIBとLyrics.ovhからの歌詞、TheAudioDB、Deezer、iTunes、MusicBrainzからのアートワークをカバーします。ギャラリープラグインには、Spotify、TIDAL、yt-dlp経由のYouTube、Genius、qBittorrent、ビジュアライザーが含まれます。プラグインは生のHTML注入ではなく構造化データモデルを介してレンダリングされ、拡張機能ビューから有効化、無効化、並べ替え、設定が可能です。 その他の機能 Chromeライクな分離プロファイル、初回実行時のオンボーディングウィザード、検出、インストール、自動更新される管理された外部依存関係(ffmpeg、yt-dlp)、タグ複合画像を使用したプラグインベースのエンティティアートワーク、ネイティブOSコンテキストメニュー、問題報告用のユーザーレビュー済み診断バンドル、安定版とベータ版チャネルを備えた組み込み自動更新。 技術とフォーマット スタックは、アプリシェルにTauri 2、スキャン、データベース、同期、再生エンジン、APIクライアントにRust、フロントエンドにTypeScript/React/Vite、再生にlibmpvとHTML5フォールバック、rusqliteとFTS5を使用したSQLite、タグにlofty、ファイル監視にnotify、状態永続化にtauri-plugin-store v2を使用しています。ネイティブにデコードされるオーディオフォーマットには、MP3、FLAC、AAC/M4A、ALAC、WAV、OPUS、WMA、OGG、AIFF、APE、WavPack、TTA、DSDなどが含まれます。ビデオサポートは、両プラットフォームでMP4/M4V/MOV(H.264)、Windowsではブラウザエンジンを介したWebMをカバーしています。 開発とライセンス 開発にはNode.js 18+とRust 1.70+、およびプラットフォーム固有のTauri前提条件が必要です。READMEには、開発および本番ビルドコマンド、リンティングとテストスクリプト、GitHub Actionsワークフローを含むドキュメントサイトのVPSデプロイフローが記載されています。プロジェクトはGPL-3.0-or-laterでライセンスされており、寛容なライセンスのRustおよびJavaScript依存関係と、libmpv、ffmpeg、yt-dlpが別個の外部コンポーネントとして使用されています。