当ツールは事実上の開発停止となりました。現在は同様の機能を持ったChrome拡張向けの新しいツールを開発しています。
obs-websocketとPythonを使って、KUVO経由でrekordboxで流している曲の情報を表示するやつ
気まぐれで更新してる。あんまり責任持ちたくないんだ。
Mac OS X Catalina, Windows 10
- OBSに obs-websocket をインストール
- OBS起動
- 「title」「artist」「standby」のテキストソースを作る
- 「title」「artist」はそれぞれ曲名とアーティスト名の表示欄になる
- 「standby」は初期化時の準備状態を表すテキスト。お好みで「準備中」とか書いといて
- 「title」「artist」に「scroll」という名前でスクロールのフィルターを作る
- 上記2つを「music_info」でグループ化
- 本ツール同梱のconfig.iniの[sources_config]の欄を編集。スクロール周りの設定などを行います
- OBSメニューから「ツール -> Websocket Server Settings」でパスワード等を設定
- 本ツール同梱のconfig.iniの[client]の欄を編集
- 本ツールをダウンロード
- chromedriver を別途ダウンロード
- 本ツール同梱のconfig.iniの[selenium]の欄を編集、ダウンロードしたドライバのパス等を記述
- OBSを起動、Websocketサーバを有効にする
- obs-kuvo-pythonを起動
- ①にて、「OBSに接続」を押す
- rekordboxにて、KUVOのLive PlaylistをSTARTし、何か曲を流す
- https://kuvo.com/mykuvo/djmix/playlist に新しいプレイリストができるので開く
- URLに番号が載ってるので控える
- ②にて、テキストボックスにKUVOのプレイリスト番号を入力し、「接続」を押す
- ①: OBSに接続するボタンと、接続状況を表示する欄です。
- 「OBSに接続」: OBSに接続します。config.iniで正しく設定したか確認してから行ってください。
- ②: KUVOのプレイリスト番号を入力し、プレイリストページにアクセスして曲情報を取得するエリアです。
- 「接続」: 入力した番号のプレイリストにアクセスします。
- 「リロード」: KUVOのページを再読み込みして、曲情報を更新
- ③: 読み込まれた曲情報がここに表示されます。
- ④: OBSを操作するボタン群です。
- 「初期化」: OBSで作った「standby」を表示、「music_info」を非表示。このとき「title」「artist」の内容が初期化される
- 「準備OK」: 「standby」を非表示、「music_info」を表示
- 「隠す」: 「???」と表示する。隠したいときなどに。ご活用ください
何かあったらlogの中身を私に報告してください。Macの場合: obs-kuvo-python.app/Contents/Resources/log
- Python 3系をインストール(動作確認バージョン: 3.7.5)
$ pip install -r requirements.txt
- chromedriver をダウンロード
- このリポジトリをgit clone、またはreleasesからソースをダウンロード
- リポジトリ同梱のconfig.iniの[selenium]を設定
$ cd obs-kubo-python
$ python main_gui.py
こちらに関しては厳密な動作確認をしていません。ご了承ください。
$ cd obs-kubo-python
$ python main.py
$ 初期化する?(y or n):
-> 「y」- なんか落ちたとかでDJしてる途中から起動した場合は「n」、8へ
- rekordboxにて、KUVOのLive PlaylistをSTARTし、何か曲を流す
- https://kuvo.com/mykuvo/djmix/playlist に新しいプレイリストができるので開く
- URLに番号が載ってるので控える
$ ENTERで準備状態を解除します。曲を流してください(KUVOのオンを忘れずに):
-> 何も入力せずにENTER$ KUVOのプレイリストの番号を入力:
-> さっき控えた番号を入力
- 何も入力せずにENTERでリロード
- 「h」で「???」と表示する。隠したいときなどに。ご活用ください
- 「z」で終了、OBSとの接続を切ります
- Q. 普通にプレイリストのページをブラウザソースで持ってくればよくね?
- A. 再生中の曲はリストの一番上に緑色で表示されるのだが、これの更新時間にムラがあるし、再生中の曲を上手く認識できなくなることがあるしでダメだこりゃと思ったのが本ツールを作った理由です。
- Q. SessionNotCreatedExceptionって出た
- A. 多分使ってるChromeとChromeDriverのバージョンが合ってない。
- Q. Windowsでよくわからん表示が出る
- A. CUI利用の場合でも
$ ENTERでリロード, hで伏せる, zで終了:
は出てるはずだからとりあえず動く。Windowsのことはようわからんへん
- A. CUI利用の場合でも
- Q. OBSでソースのロックを切り替えたら動作がおかしくなった、Invalid event SceneItemLockChangedって出た
- A. 最近obs-websocketに更新が入って、obs-websocket-pyがまだ対応していないっぽいので触らないように
- Q. 自動で曲情報を更新しないの?
- A. それで想定外の表示とかされるよりかは…という理由で手動更新。隠す機能とかは手動の方が都合がいいだろうし。
ビルドするツールはいろいろありますが、私はこれを使いました: py2app, pyinstaller