Chargement en cours archives/radio_event.py 0 → 100644 +37 −0 Changes for archives/radio_event.py: 37 added lines, 0 removed line. Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff from time import sleep from vlc import EventType, Media, MediaPlayer, MediaParseFlag, Meta def _media_cb(event, *unused): # XXX callback ... never called print(event) p = MediaPlayer() # cmd1 = "sout=file/ts:%s" % outfile media = Media("http://live.leanstream.co/CJOTFM-MP3") # , cmd1) # media = Media("http://direct.francemusique.fr/live/francemusique-midfi.mp3") # media.get_mrl() p.set_media(media) p.play() e = p.event_manager() e.event_attach(EventType.MediaMetaChanged, _media_cb, media) e.event_attach(EventType.MediaParsedChanged, _media_cb, media) # define the meta data to show meta = {Meta.Album: None, Meta.Genre: None, Meta.NowPlaying: None} while True: # loop forever # XXX using MediaParseFlag.local is not any different media.parse_with_options(MediaParseFlag.network, 2) # 2 sec timeout # XXX media.get_parsed_status() always returns .skipped for k in meta.keys(): v = media.get_meta(k) if v != meta[k]: # print("{} - {}".format(k, v)) print("{}".format(v)) meta[k] = v sleep(2) data/radios.csv +6 −5 Changes for data/radios.csv: 6 added lines, 5 removed lines. Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -5,11 +5,12 @@ No,Pays,Type,Nom,Url,Logo 4,France,Informations,France Info,http://direct.franceinfo.fr/live/franceinfo-midfi.mp3,france-info.jpeg 5,France,Généraliste,France Inter,http://direct.franceinter.fr/live/franceinter-midfi.mp3,france-inter.png 6,France,Généraliste,Europe 1,http://mp3lg4.tdf-cdn.com/9240/lag_180945.mp3,europe-1.jpeg 7,UK,Rock,Dépèche Mode,http://streaming.radionomy.com/wwwdepechemodebe-radio, 7,UK,Rock,Dépèche Mode,http://streaming.radionomy.com/wwwdepechemodebe-radio,radio.png 8,DE,Celtic,Live Ireland ch1,http://66.90.73.250:8080,live-ireland.png 9,DE,Celtic,Bretagne Blog,http://laut.fm/bretagneblog, 10,DE,Celtic,Highlander Radio Live Stream,http://50.7.71.27:9657, 11,DE,Celtic,Celtic Moon,http://streaming211.radionomy.com:80/CelticMoon, 9,DE,Celtic,Bretagne Blog,http://laut.fm/bretagneblog,radio.png 10,DE,Celtic,Highlander Radio Live Stream,http://50.7.71.27:9657,radio.png 11,DE,Celtic,Celtic Moon,http://streaming211.radionomy.com:80/CelticMoon,radio.png 12,DE,Celtic-punk,Celtic-Folk-Punk,http://streaming211.radionomy.com:80/Celtic-Folk-Punk, 13,DE,Hard-rock,100% Hardrock,http://streaming207.radionomy.com:80/100-HARD-ROCK, 14,DE,Rock,Virgin Rock 70,http://icy.unitedradio.it/VirginRock70.mp3, No newline at end of file 14,DE,Rock,Virgin Rock 70,http://icy.unitedradio.it/VirginRock70.mp3,radio.png 15,FR,Classic,Frane Musique,http://direct.francemusique.fr/live/francemusique-midfi.mp3, No newline at end of file main.py +1 −1 Changes for main.py: 1 added line, 1 removed line. Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -5,7 +5,7 @@ # import ---------------------------------- import csv from rw_pupitre import Pupitre from pupitre import Pupitre # installer le paquet python-vlc : sudo pip3 install python-vlc from vlc import Instance Chargement en cours poub.py +23 −30 Changes for poub.py: 23 added lines, 30 removed lines. Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff from time import sleep from vlc import EventType, Media, MediaPlayer, MediaParseFlag, Meta import csv def _media_cb(event, *unused): # XXX callback ... never called print(event) logos = [["", "", "", "", ""], ["", "", "", "", ""], ["", "", "", "", ""], ["", "", "", "", ""]] p = MediaPlayer() # cmd1 = "sout=file/ts:%s" % outfile media = Media("http://live.leanstream.co/CJOTFM-MP3") # , cmd1) # media.get_mrl() p.set_media(media) p.play() def radios_display(): # récupération de la liste des radios (+infos) with open("./data/radios.csv", 'r', encoding='utf8') as radios_file: radios_list = csv.DictReader(radios_file) radios_list = [dict(ligne) for ligne in radios_list] # transforme en liste de dictionnaires compteur = 0 for y in range(4): for x in range(5): try: if radios_list[compteur]['Logo'] != "": logos[y][x] = radios_list[compteur]['Logo'] else: logos[y][x] = "radio.png" except: logos[y][x] = "blank.png" compteur += 1 e = p.event_manager() e.event_attach(EventType.MediaMetaChanged, _media_cb, media) e.event_attach(EventType.MediaParsedChanged, _media_cb, media) for c in range(4): print(logos[c]) # define the meta data to show meta = {Meta.Album: None, Meta.Genre: None, Meta.NowPlaying: None} while True: # loop forever # XXX using MediaParseFlag.local is not any different media.parse_with_options(MediaParseFlag.network, 2) # 2 sec timeout # XXX media.get_parsed_status() always returns .skipped for k in meta.keys(): v = media.get_meta(k) if v != meta[k]: # print("{} - {}".format(k, v)) print("{}".format(v)) meta[k] = v sleep(2) radios_display() rw_pupitre.py→pupitre.py +8 −3 Changes for pupitre.py: 8 added lines, 3 removed lines. Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff # Projet : WebRadioPi # Fichier : rw_pupitre.py # Fichier : pupitre.py # Auteur : Daniel SAZERAT (thorfin89@free.fr) # import ---------------------------------- Chargement en cours Chargement en cours @@ -28,6 +28,8 @@ class Pupitre: self.icon_sound = tk.PhotoImage(file="icons/sound_up.png") self.icon_mute = tk.PhotoImage(file="icons/mute.png") self.logo = tk.PhotoImage(file="images/radio.png") self.zones() # noinspection PyTypeChecker Chargement en cours Chargement en cours @@ -87,10 +89,13 @@ class Pupitre: # affichage des vignettes des radios for x_logos in range(5): for y_logos in range(4): self.logo = tk.PhotoImage(file="images/radio.png") btn_logo = ttk.Button(zone_logos, image=self.logo, command=self.switch_sound) btn_logo = tk.Button(zone_logos, image=self.logo, command=self.switch_sound) btn_logo.place(width=100, height=100, x=x_logos*100, y=y_logos*100) def switch_sound(self): # bascule on/off du son global mute Chargement en cours Chargement en cours
archives/radio_event.py 0 → 100644 +37 −0 Changes for archives/radio_event.py: 37 added lines, 0 removed line. Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff from time import sleep from vlc import EventType, Media, MediaPlayer, MediaParseFlag, Meta def _media_cb(event, *unused): # XXX callback ... never called print(event) p = MediaPlayer() # cmd1 = "sout=file/ts:%s" % outfile media = Media("http://live.leanstream.co/CJOTFM-MP3") # , cmd1) # media = Media("http://direct.francemusique.fr/live/francemusique-midfi.mp3") # media.get_mrl() p.set_media(media) p.play() e = p.event_manager() e.event_attach(EventType.MediaMetaChanged, _media_cb, media) e.event_attach(EventType.MediaParsedChanged, _media_cb, media) # define the meta data to show meta = {Meta.Album: None, Meta.Genre: None, Meta.NowPlaying: None} while True: # loop forever # XXX using MediaParseFlag.local is not any different media.parse_with_options(MediaParseFlag.network, 2) # 2 sec timeout # XXX media.get_parsed_status() always returns .skipped for k in meta.keys(): v = media.get_meta(k) if v != meta[k]: # print("{} - {}".format(k, v)) print("{}".format(v)) meta[k] = v sleep(2)
data/radios.csv +6 −5 Changes for data/radios.csv: 6 added lines, 5 removed lines. Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -5,11 +5,12 @@ No,Pays,Type,Nom,Url,Logo 4,France,Informations,France Info,http://direct.franceinfo.fr/live/franceinfo-midfi.mp3,france-info.jpeg 5,France,Généraliste,France Inter,http://direct.franceinter.fr/live/franceinter-midfi.mp3,france-inter.png 6,France,Généraliste,Europe 1,http://mp3lg4.tdf-cdn.com/9240/lag_180945.mp3,europe-1.jpeg 7,UK,Rock,Dépèche Mode,http://streaming.radionomy.com/wwwdepechemodebe-radio, 7,UK,Rock,Dépèche Mode,http://streaming.radionomy.com/wwwdepechemodebe-radio,radio.png 8,DE,Celtic,Live Ireland ch1,http://66.90.73.250:8080,live-ireland.png 9,DE,Celtic,Bretagne Blog,http://laut.fm/bretagneblog, 10,DE,Celtic,Highlander Radio Live Stream,http://50.7.71.27:9657, 11,DE,Celtic,Celtic Moon,http://streaming211.radionomy.com:80/CelticMoon, 9,DE,Celtic,Bretagne Blog,http://laut.fm/bretagneblog,radio.png 10,DE,Celtic,Highlander Radio Live Stream,http://50.7.71.27:9657,radio.png 11,DE,Celtic,Celtic Moon,http://streaming211.radionomy.com:80/CelticMoon,radio.png 12,DE,Celtic-punk,Celtic-Folk-Punk,http://streaming211.radionomy.com:80/Celtic-Folk-Punk, 13,DE,Hard-rock,100% Hardrock,http://streaming207.radionomy.com:80/100-HARD-ROCK, 14,DE,Rock,Virgin Rock 70,http://icy.unitedradio.it/VirginRock70.mp3, No newline at end of file 14,DE,Rock,Virgin Rock 70,http://icy.unitedradio.it/VirginRock70.mp3,radio.png 15,FR,Classic,Frane Musique,http://direct.francemusique.fr/live/francemusique-midfi.mp3, No newline at end of file
main.py +1 −1 Changes for main.py: 1 added line, 1 removed line. Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -5,7 +5,7 @@ # import ---------------------------------- import csv from rw_pupitre import Pupitre from pupitre import Pupitre # installer le paquet python-vlc : sudo pip3 install python-vlc from vlc import Instance Chargement en cours
poub.py +23 −30 Changes for poub.py: 23 added lines, 30 removed lines. Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff from time import sleep from vlc import EventType, Media, MediaPlayer, MediaParseFlag, Meta import csv def _media_cb(event, *unused): # XXX callback ... never called print(event) logos = [["", "", "", "", ""], ["", "", "", "", ""], ["", "", "", "", ""], ["", "", "", "", ""]] p = MediaPlayer() # cmd1 = "sout=file/ts:%s" % outfile media = Media("http://live.leanstream.co/CJOTFM-MP3") # , cmd1) # media.get_mrl() p.set_media(media) p.play() def radios_display(): # récupération de la liste des radios (+infos) with open("./data/radios.csv", 'r', encoding='utf8') as radios_file: radios_list = csv.DictReader(radios_file) radios_list = [dict(ligne) for ligne in radios_list] # transforme en liste de dictionnaires compteur = 0 for y in range(4): for x in range(5): try: if radios_list[compteur]['Logo'] != "": logos[y][x] = radios_list[compteur]['Logo'] else: logos[y][x] = "radio.png" except: logos[y][x] = "blank.png" compteur += 1 e = p.event_manager() e.event_attach(EventType.MediaMetaChanged, _media_cb, media) e.event_attach(EventType.MediaParsedChanged, _media_cb, media) for c in range(4): print(logos[c]) # define the meta data to show meta = {Meta.Album: None, Meta.Genre: None, Meta.NowPlaying: None} while True: # loop forever # XXX using MediaParseFlag.local is not any different media.parse_with_options(MediaParseFlag.network, 2) # 2 sec timeout # XXX media.get_parsed_status() always returns .skipped for k in meta.keys(): v = media.get_meta(k) if v != meta[k]: # print("{} - {}".format(k, v)) print("{}".format(v)) meta[k] = v sleep(2) radios_display()
rw_pupitre.py→pupitre.py +8 −3 Changes for pupitre.py: 8 added lines, 3 removed lines. Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff # Projet : WebRadioPi # Fichier : rw_pupitre.py # Fichier : pupitre.py # Auteur : Daniel SAZERAT (thorfin89@free.fr) # import ---------------------------------- Chargement en cours Chargement en cours @@ -28,6 +28,8 @@ class Pupitre: self.icon_sound = tk.PhotoImage(file="icons/sound_up.png") self.icon_mute = tk.PhotoImage(file="icons/mute.png") self.logo = tk.PhotoImage(file="images/radio.png") self.zones() # noinspection PyTypeChecker Chargement en cours Chargement en cours @@ -87,10 +89,13 @@ class Pupitre: # affichage des vignettes des radios for x_logos in range(5): for y_logos in range(4): self.logo = tk.PhotoImage(file="images/radio.png") btn_logo = ttk.Button(zone_logos, image=self.logo, command=self.switch_sound) btn_logo = tk.Button(zone_logos, image=self.logo, command=self.switch_sound) btn_logo.place(width=100, height=100, x=x_logos*100, y=y_logos*100) def switch_sound(self): # bascule on/off du son global mute Chargement en cours