2 ポイント 投稿者 GN⁺ 2024-09-25 | 2件のコメント | WhatsAppで共有

Winamp

紹介

  • Winampは1997年にリリースされたマルチメディアプレーヤーで、さまざまなオーディオフォーマットとの互換性と柔軟性で知られている
  • Nullsoftが開発し、数百万人のユーザーの間で高い人気を集めた
  • 開発はしばらく中断されていたが、現在はソースコードが公開され、コミュニティがプレーヤーを改善・モダナイズできるようになった

使用方法

  • Winampデスクトップクライアントのビルドは現在、Visual Studio 2019 (VS2019) と Intel IPP ライブラリをベースとしている
  • Winampをビルドする方法はいくつかある
    1. build_winampAll_2019.cmd スクリプトファイルを使って x86/x64(デバッグおよびリリース)の4バージョンをビルドする。この場合、Visual Studio IDEは起動しない
    2. winampAll_2019.sln ファイルを使って Visual Studio IDE でビルドおよびデバッグを行う

依存関係

  • build_winampAll_2019.cmd スクリプトファイルを使って x86/x64(デバッグおよびリリース)の4バージョンをビルドする。この場合、Visual Studio IDEは起動しない
  • winampAll_2019.sln ファイルを使って Visual Studio IDE でビルドおよびデバッグを行う
libvpx
libmpg123
  • libmpg123https://www.mpg123.de/download.shtml から取得し、修正後にアーカイブとしてパッケージしている
  • unpack_libmpg123.cmd を実行して dll ファイルを処理する
OpenSSL
  • openssl-1.0.1u を使用する必要がある
  • 静的版ライブラリをビルドするために build_vs_2019_openssl_x86.cmdbuild_vs_2019_openssl_64.cmd を実行する
  • OpenSSLをビルドするには、7-Zip、NASM、Perlをインストールする必要がある
DirectX 9 SDK
  • DirectX 9 SDK(2010年6月)をMicrosoftから取得し、修正後にアーカイブとしてパッケージしている
  • unpack_microsoft_directx_sdk_2010.cmd を実行して展開する
Microsoft ATLMFC lib の修正
  • C:\Program Files (x86)\Microsoft VisualStudio\2019\Community\VC\Tools\MSVC\14.24.28314\atlmfc\include\atltransactionmanager.h ファイルの427行目を return ::DeleteFile((LPTSTR)lpFileName); から return DeleteFile((LPTSTR)lpFileName); に変更する
Intel IPP 6.1.1.035
  • Intel IPP 6.1.1.035 を取得し、修正後にアーカイブとしてパッケージしている
  • unpack_intel_ipp_6.1.1.035.cmd を実行して展開する

GN⁺の要約

  • Winampは、さまざまなオーディオフォーマットとの互換性により、今なお多くのユーザーに愛されている
  • ソースコードが公開され、コミュニティがプレーヤーを改善・モダナイズできる機会が提供された
  • Visual Studio 2019と複数のライブラリを使ってビルドでき、さまざまな依存関係に対応する必要がある
  • Winampと似た機能を提供する他のマルチメディアプレーヤーには、VLC Media Playerやfoobar2000がある

2件のコメント

 
wedding 2024-09-25

ライセンスのことでかなり議論になっているようですね

 
GN⁺ 2024-09-25
Hacker News のコメント
  • プロジェクトへの貢献方法に疑問

    • ライセンス第4条では、プロジェクトへの改善、機能向上、バグ修正の貢献を推奨している
    • しかし第5条では、コードのフォークや改変版の配布を禁止している
    • 標準的な GitHub ワークフローがライセンス違反になってしまう
    • 現時点ではこのプロジェクトに関わらないのが最善
    • ライセンスが変更されたら改めて確認する予定
  • EFNet の #mpeg3 での Justin Frankel との思い出

    • アプリで使うスキンとトレイアイコンを制作した
    • クレジットに自分の名前が含まれている
  • DMCA 要求と著作権問題

    • GitHub に DMCA 要求を大量に提出する必要がありそう
    • フォークは GitHub の基本機能
    • ライセンスがフォークを許可していない
    • 著作権を失うリスクがある
    • 裁判所は権利保護を強く求めるはず
    • GitHub のユーザー体験が悪化しそう
  • Winamp との個人的な歴史

    • 昔、人気のあるプラグインを書いた
    • Winamp 3 のソースコードは C++ で完全に書き直された
    • 元のソースコードは Justin Frankel が C で書いた
  • 1999 年の大学時代の MP3 パーティー

    • CD ディスクチェンジャーの代わりに MP3 を使った
    • Winamp で音楽をランダム再生した
    • 音楽が途切れることなくパーティーを楽しめた
    • Winamp に感謝
  • 混乱を招くオープンソース化

    • ソフトウェアのオープンソース化が非常にわかりにくい
  • 手軽な音楽プレーヤー

    • 競合製品よりもシンプルなインターフェースを備えている
    • 余計なグラフィックなしで役目を果たす
  • 「オープン」という用語の歪曲

    • ライセンス条件が再配布や再販を認めていない
    • 「オープンソース」ではなく「ソース利用可能」と呼ぶのが適切
  • SHOUTcast サーバーソフトウェアの違法共有

    • リポジトリに違法に共有されたコードがある