Raspberry Pi Zero + moOde audio(サイマルラジオ)

これまでスクロールバーはプログラム起動時以外は有効になっていませんでした。スクロールバーを有効にすると共に表示形式を1行にすることで表示及び選択範囲が格段に向上します。

またsimul.pyからもradikoを実行できるようにしました。
コンパクトなラジオを作成することができます。

simul-sub.py

デフォルトのsimul.pyと今回作成したsimul-sub.py
エリア別のリストを使うかまとまったリストを使うかの違いで基本プログラムは共通です。
同マシン内ではどちらからも操作可能ですが独立して鳴らすことはできません。

ラジオディレクトリ
default setでradioとFAVORITEディレクトリを設定しています。
radioディレクトリの変更や別ユーザーで作成する場合はdefault setを変更します。
FAVORITEディレクトリはdefault版とsub版で別にすることができます。
radioディレクトリはsimul-vol.pyでも設定、変更しています。

# --- default set ---
# default radio_dir
radio_dir = "/home/pi/radio/"
# default favorite_dir
favorite_dir = "/home/pi/radio/FAVORITE/simul-default/"
# default area
t = favorite_dir+"favorite1"

ラジオリスト
今まではラジオ局名とurlをそれぞれダブルコーテーションで括っていたものを半角空白を入れて一つに纏めます。
再生時はawkでurlを取り出して実行

"fmはな/標津郡中標津町 https://musicbird-hls.leanstream.co/musicbird/JCB001.stream/playlist.m3u8"

スクロールバー
Scrollbar x y を適当な位置に書いてスクロールバーを表示させたいリストに;x();y()を追記

# CSRA
def csra_click():
    global t; t=radio_dir+"CSRA/CSRA.list"; area_selection();x();y()
---
# Scrollbar x
def x():
    scrollbar = ttk.Scrollbar(frame1,orient=HORIZONTAL,command=lb.xview)
    lb['xscrollcommand'] = scrollbar.set
    scrollbar.grid(row=1,column=0,sticky=(E,W))
# Scrollbar y
def y():
    scrollbar = ttk.Scrollbar(frame1,orient=VERTICAL,command=lb.yview)
    lb['yscrollcommand'] = scrollbar.set
    scrollbar.grid(row=0,column=1,sticky=(N,S))

ラジコ

リスト先頭のradikoの文字列を検索末尾のラジオ局IDを適用してラジコスクリプトを実行します。
ラジコスクリプトと関連パッケージはこれまでインストールしたものを使います。

/home/pi/radio/RADIKO/radiko.list

" --- radiko(ラジコ) ---"
"radiko/TOKYO FM FMT"
"radiko/J-WAVE FMJ"
"radiko/Rani Music RN2"
"radiko/Bayfm78 BAYFM78"
"radiko/FM yokohama 84.7 YFM"
"radiko/Inter FM 897 INT"
"radiko/NACK5 NACK5"
"radiko/TBSラジオ TBS"
"radiko/文化放送 QRR"
"radiko/ニッポン放送 LFR"
"radiko/ラジオ日本 JORF"
"radiko/ラジオNIKKEI第1 RN1"
"radiko/放送大学 HOUSOU-DAIGAKU"


ラジオ局リストは全て1行形式で作成
タイトルのON AIRはボタンで同期します。


ディレクトリ、ファイルの位置関係
実行ファイル実行ファイル simul.py simul-sub.py simul-vol.pyは~/bin

参考
raspberry pi + moOde audio
ディレクトリ、ファイルに手を加えているので全ての動作を確認するまでは音量に注意
# 02/06 差し替え
simul.py
simul-sub.py
simul-vol.py
ラジオ局リストは若干の変更、新設があるようなので整理中です。
raspbian仕様は作業中