Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
W
WebRadioPi
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Thorfin89
WebRadioPi
Commits
cb784c24
Commit
cb784c24
authored
Jan 15, 2023
by
Thorfin89
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Essais sur la récupération des logos des radios
parent
f7d284e1
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
75 additions
and
39 deletions
+75
-39
radio_event.py
archives/radio_event.py
+37
-0
radios.csv
data/radios.csv
+6
-5
main.py
main.py
+1
-1
poub.py
poub.py
+23
-30
pupitre.py
pupitre.py
+8
-3
No files found.
archives/radio_event.py
0 → 100644
View file @
cb784c24
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
View file @
cb784c24
...
...
@@ -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
View file @
cb784c24
...
...
@@ -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
...
...
poub.py
View file @
cb784c24
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
View file @
cb784c24
# Projet : WebRadioPi
# Fichier :
rw_
pupitre.py
# Fichier : pupitre.py
# Auteur : Daniel SAZERAT (thorfin89@free.fr)
# import ----------------------------------
...
...
@@ -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
...
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment