#101 Le 20/01/2009, à 20:43
- vinc-mai
Re : [ZiK]Lecteur audio en développement
Bonsoir.
Mise à jour du dépôt git. Les nouveautés:
- ajout des bouttons aléatoire et répéter dans le menu Musique,
- édition des webradios existantes (via un clic droit),
- option pour trier par numéro de piste lors de l'ajout d'un répertoire,
- réordonner les répertoires maîtres dans les préférences par drag&drop,
- réordonner les chansons par drag&drop dans la fenêtre "Éditer la liste de lecture".
Les bouttons aléatoire et répéter sont disponibles maintenant en 2 clics. Est-il nécessaire de les ajouter directement sur l'interface? Est-il nécessaire d'ajouter un boutton pour mélanger la liste de lecture (ce qui permettrait de lire en "aléatoire" tout en visualisant les chansons précédantes/suivantes)?
L'option "trier par piste" est enfin implémentée. Depuis le temps que Draco attend... Elle est cependant à tester.
Dernière modification par vinc-mai (Le 20/01/2009, à 20:46)
Hors ligne
#102 Le 20/01/2009, à 21:01
- Кຼزດ
Re : [ZiK]Lecteur audio en développement
ok, je teste ça tout de suite .
j'ai rajouté le script dans la page de la doc
dou
Hors ligne
#103 Le 21/01/2009, à 14:11
- vinc-mai
Re : [ZiK]Lecteur audio en développement
Bonsoir.
Mise à jour du dépôt git. Les nouveautés:
- ajout des bouttons aléatoire et répéter dans le menu Musique,
- édition des webradios existantes (via un clic droit),
- option pour trier par numéro de piste lors de l'ajout d'un répertoire,
- réordonner les répertoires maîtres dans les préférences par drag&drop,
- réordonner les chansons par drag&drop dans la fenêtre "Éditer la liste de lecture".Les bouttons aléatoire et répéter sont disponibles maintenant en 2 clics. Est-il nécessaire de les ajouter directement sur l'interface? Est-il nécessaire d'ajouter un boutton pour mélanger la liste de lecture (ce qui permettrait de lire en "aléatoire" tout en visualisant les chansons précédantes/suivantes)?
L'option "trier par piste" est enfin implémentée. Depuis le temps que Draco attend... Elle est cependant à tester.
J'ai uploader un nouvelle version (la 0.8.1) afin que les personnes n'utilsant pas git puissent disposer de ces fonctions.
J'ai ajouter un nouveau module à la version git qui affiche brièvement un "pop-up" avec le titre de la chanson. Le code du module n'est pas très avancé pour l'instant. La manière de programmer un module n'est toujours pas fixée. N'hésiter pas à faire pas de vos observations.
Ce module pourrait servir à afficher les pochettes. Cependant, l'affichage lors du survol de l'icône ou dans la fenêtre principale n'est pour l'instant pas abandonné.
Hors ligne
#104 Le 21/01/2009, à 14:15
- Кຼزດ
Re : [ZiK]Lecteur audio en développement
c'est pas mal la notification
est-ce qu'il y aura moyen de changer la location du truc , ainsi que sa couleur ?
dou
Hors ligne
#105 Le 21/01/2009, à 14:26
Hors ligne
#106 Le 21/01/2009, à 14:29
- Кຼزດ
Re : [ZiK]Lecteur audio en développement
oui , je suis d'accord , mais je pense que spécifier ça comme "coin en haut/bas à gauche/droite" pourrait être plus compréhensible
edit : par ailleurs chez moi la notification ne s'affiche que pendant 0.5 secondes
Dernière modification par mathieuI (Le 21/01/2009, à 14:42)
dou
Hors ligne
#107 Le 21/01/2009, à 20:04
- Mouine89
Re : [ZiK]Lecteur audio en développement
Mise à jour du dépôt git. Les nouveautés [...]
Bonsoir,
Il y a vraiment du nouveau, et du bon !
Ce truc commence à devenir énorme.
Grâce au script de l e . n o x (déjà sur la page de documentation grâce à MathieuI !), je me paye le luxe de la 0.8.1+git sans me poser de questions* et je viens de me jeter sur les dernières nouveautés.
C'est cool de pouvoir éditer les radios !
La généralisation du drag & drop est un vrai plus.
L'affichage dans la zone de notification aussi, d'autant plus que tu me dis :
Cependant, l'affichage lors du survol de l'icône ou dans la fenêtre principale n'est pour l'instant pas abandonné.
(Chic, parce que j'y tiens, à cette caresse de la souris sur l'icone de ZiK )
la notification ne s'affiche que pendant 0.5 secondes
Oui, chez moi aussi.
Merci à tous, et surtout à vinc-mai !
(*) @ l e . n o x : J'ai d'abord essayé la procédure "Mise à jour", mais après celle-ci l'entrée du menu Applications/Son et vidéo/ZiK ne répondait plus. J'ai donc désinstallé et réinstallé... Et en se fermant, le .sh ferme aussi le terminal, donc pas moyen de revenir sur la succession des opérations pour trouver le hic (enfin, si c'est possible, je n'ai pas trouvé).
Hors ligne
#108 Le 21/01/2009, à 20:18
- Mouine89
Re : [ZiK]Lecteur audio en développement
Rebonsoir,
@ vinc-mai : pas de solution en vue pour le problème de l'esperluette dans les tags ?
Playing Fujiya & Miyagi - Pickpocket.
/usr/local/share/ZiK/gui/gui.rb: line 635
Gtk-WARNING **:Failed to set text from markup due to error parsing markup:
Erreur à la ligne 1 : Le caractère « » n'est pas valide au début d'un nom d'entité ;
le caractère & commence une entité ;si l'esperluette n'est pas supposée être
une entité, échappez-le comme &
(Ce n'est pas fondamental, c'est juste pour savoir )
Hors ligne
#109 Le 21/01/2009, à 20:22
- vinc-mai
Re : [ZiK]Lecteur audio en développement
Remercions le.nox pour son script.
MathieuI a écrit :la notification ne s'affiche que pendant 0.5 secondes
Oui, chez moi aussi.
Je pensais avoir régler la notification pour environ 3 secondes. L'affichage doit être une fonction asynchrome! Je vais essayer de régler ceci.
edit:
@ vinc-mai : pas de solution en vue pour le problème de l'esperluette dans les tags ?
Je viens de comprendre comment régler ce bug en relisant ton post!
Dernière modification par vinc-mai (Le 21/01/2009, à 20:31)
Hors ligne
#110 Le 21/01/2009, à 21:50
- Кຼزດ
Re : [ZiK]Lecteur audio en développement
j'en profite pour mettre ma version du script de l e . n o x ; c'est la même avec zenity, et probablement quelques bugs en plus (pour ceux qui préfèrent les clics ) :
##################################
#
#
#
####################################################################
# wget http://ordiboy.free.fr/open/linux/Setup_ZikByGit_0.4.sh ##
# chmod +x ./Setup_ZikByGit_0.4.sh ##
# ./Setup_ZikByGit_0.4.sh ##
####################################################################
#
#
#http://forum.ubuntu-fr.org/viewtopic.php?id=154862&p=1
DEPENDANCES_Zik="git-core libmusicbrainz-ruby1.8 libtagc0-ruby libgst-ruby libgtk2-ruby libgettext-ruby*"
DEPENDANCES_Os="build-essential gstreamer0.10-plugins-base gstreamer0.10-plugins-ugly"
DEPOT=$HOME/.ZiK
reponse=`zenity --list --radiolist --title="Choisissez l'action à réaliser" --separator=" " --column="" --column="" --column="Action" \
--hide-column=2 \
FALSE 1 "Installer Zik" \
FALSE 2 "Mettre à jour Zik" \
FALSE 3 "Désinstaller Zik :'o" `
#Install
case $reponse in
[iI]* | 1)
zenity --info --text="Suppression des anciennes versions de Zik"
gksudo true && apt-get remove zik -y
cd $DEPOT/zik
sudo make uninstall
zenity --info --text="Installation des dépendances nécessaires"
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo $DEPENDANCES_Zik $DEPENDANCES_Os
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
sudo apt-get install $DEPENDANCES_Zik $DEPENDANCES_Os -y
zenity --info --text="Téléchargement et Installation de ZiK grâce au dépôt zik"
cd $DEPOT
if [ -d $DEPOT/zik ]
then
cd $DEPOT/zik
else
cd $DEPOT && git clone git://rubyforge.org/zik.git
fi
cd $DEPOT/zik
./configure
make
sudo make install
echo "\nCréation du raccourci dans le Menu Principal"
#Créer le lanceur
echo "
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Icon[fr_FR]=/usr/local/share/ZiK/pix/ZiK.svg
Categories=GTK;AudioVideo;Audio;
Exec=/usr/local/bin/ZiK.rb
Name[fr_FR]=ZiK
Comment[fr_FR]=Lecteur audio
Name=ZiK
Comment=Lecteur Audio
Icon=/usr/local/share/ZiK/pix/ZiK.svg" | sudo tee "/usr/share/applications/ZiK.desktop"
clear
zenity --info --text="Installation terminée"
sleep 3
#lance la nouvelle version de Zik
ZiK.rb
#Mise à jour de la Version
;;
[mM]* | 2)
if [ -d $DEPOT/zik ]
then
cd $DEPOT/zik
gksudo true && sudo make uninstall
make distclean
git pull
./configure && make
sudo make install
clear
zenity --info --text="Mise à jour terminée"
sleep 3
else
cd $DEPOT && git clone git://rubyforge.org/zik.git
cd $DEPOT/zik
./configure
make
gksudo true && make install
clear
echo " -------------------------"
echo " -------------------------"
echo " Installation dépôt zik "
echo " -------------------------"
echo " -------------------------"
sleep 3
fi
#lance la nouvelle version de Zik
ZiK.rb
#Desinstaller
;;
[dD]* | 3)
cd $DEPOT/zik
gksudo true && sudo make uninstall
sudo apt-get remove $DEPENDANCES_Zik -y
rm -Rf $DEPOT/*
sudo rm /usr/share/applications/ZiK.desktop
clear
zenity --info --text="Désintallation effectuée"
sleep 3
#Non
;;
[aA]* | 4)
clear
echo "\nInstallation annulée, au revoir ;O) ..."
sleep 3
clear
#Essayer à nouveau
;;
*)
clear
esac
#exit 0
edit: j'en profite également pour faire un feedback ; problème avec les wma :
Cannot read (blabla).wma's tag.
/usr/local/share/ZiK/gui/gui.rb:608:in `[]': no implicit conversion from nil to integer
from /usr/local/share/ZiK/gui/gui.rb:608:in `play'
from /usr/local/share/ZiK/gui/gui.rb:445:in `initialize'
from /usr/local/bin/ZiK.rb:222:in `call'
from /usr/local/bin/ZiK.rb:222:in `main'
from /usr/local/bin/ZiK.rb:222
Player stopped.
Player stopped.
Player stopped.
et j'ai à peu près les mêmes erreurs avec le drag'n drop ...
hop , problème auto-résolu dans la minute , il y avait quelques paquets mal réinstallés
Dernière modification par mathieuI (Le 21/01/2009, à 22:06)
dou
Hors ligne
#111 Le 21/01/2009, à 22:02
- l e . n o x
Re : [ZiK]Lecteur audio en développement
Bonsoir @ tous les FanaZik
@Vinc-mai :
a) Retour sur le Bug KDE
@ordikubuntu:~$ ./Ziktest.rb
#<Gst::ElementCdioCddaSrc:0xb7ce5128 ptr=0x8e1a0d0>
nil
#<Gst::ElementVolume:0xb7ce2004 ptr=0x8e22000>
#<Gst::Pipeline:0xb7ce1fb4 ptr=0x8e25000>
"bus watch:"
2
"add el:"
nil
nil
./Ziktest.rb:12:in `add': Gst::Element expected (TypeError)
from ./Ziktest.rb:12
b) Durée de la notification : J'ai noté que les 3-4 premiers click apres un demarrage de ZiK sur un fichier musical la notification etait tres proche des 5 sec. C'est apres que cela devient aléatoire 0,5 1 2 sec ou rien par moment.
c) heee, ben en "c)" rien seulement, chapeau bas pour tout ce boulot, T'es un chef Mr Vinc-mai
@Mouine89 : Script - Problème avec la "Mise à jour" essaye de lancer le script dans un terminal directement avec :
./Setup_ZikByGit_0.4.sh
Assures toi d'être dans le dossier ou se trouve le script avant de le lancer.
@draco31.fr & MathieuI : Votre doc c'est pas de la gnognote
Dernière modification par l e . n o x (Le 21/01/2009, à 22:34)
Zik Fan : " Vous seul savez mieux que quiconque comment organiser votre bibliothèque musicale ! "
Linux, y a moins bien.
Mais c'est plus cher. ;O)
Hors ligne
#112 Le 21/01/2009, à 22:09
- Кຼزດ
Re : [ZiK]Lecteur audio en développement
sinon l e . n o x , je verrai bien une option qui permet de préserver sa configuration de Zik ( si ça ne crée pas d'incompatibilité bien sur )
edit : et j'ai toujours le problème "Cannot read (...).wma's tag" mais ça plante plus alors c'est pas trop grave
Dernière modification par mathieuI (Le 21/01/2009, à 22:12)
dou
Hors ligne
#113 Le 21/01/2009, à 22:32
- Mouine89
Re : [ZiK]Lecteur audio en développement
b) Durée de la notification : J'ai noté que les 3-4 premiers click apres un demarrage de ZiK sur un fichier musical la notification etait tres proche des 5 sec. C'est apres que cela devient aléatoire 0,5 1 2 sec ou rien par moment.
Je confirme, c'est exactement ça.
T'es un chef Mr Vinc-mai
Je confirme également
@Mouine89 : Script - Problème avec la "Mise à jour" essaye de lancer le script dans un terminal
Merci d'avance, je tenterai... lorsqu'il y aura une nouvelle mise à jour à faire (ça devrait pas traîner, vu l'effervescence)
@MathieuI : Ta doc, c'est pas de la gnognote
Je confirme aussi, sans oublier draco31.fr, à l'origine de la doc.
Hors ligne
#114 Le 21/01/2009, à 22:37
- vinc-mai
Re : [ZiK]Lecteur audio en développement
Le bug KDE:
Je vois d'où le dernier problème (en date) vient. Je vais chercher la solution.
La version ubuntu et la version officielle de taglib ne permet pas de lire les tags des fichiers wma . Un patch est disponible sur le net mais je n'ai pas essayé de l'installer car j'utilse pas ce format.
Hors ligne
#115 Le 21/01/2009, à 22:41
- Кຼزດ
Re : [ZiK]Lecteur audio en développement
je pensais aussi les convertir en ogg , c'est pas trop grave
je télécharge et compile, pour voir si ça marche (pour les gens soucieux de leurs wma )
edit: ajout d'un paragraphe taglib dansla doc, mais j'ai l'impression que c'est un peu de trop, non ?
Dernière modification par mathieuI (Le 21/01/2009, à 22:53)
dou
Hors ligne
#116 Le 21/01/2009, à 23:12
- vinc-mai
Re : [ZiK]Lecteur audio en développement
ZiK admet plusieurs paramètres lorsqu'il est lancé en ligne de commande.
La liste des options n'est pas disponible dans un manuel ou via –help
Les paramètres ne sont décrit pour l'instant que sur le forum de Rubyforge
Je viens de m'apercevoir d'un bug!
ZiK.rb -h marche correctment alors de ZiK.rb --help affiche l'aide de gst-ruby (??).
Hors ligne
#117 Le 21/01/2009, à 23:14
- l e . n o x
Re : [ZiK]Lecteur audio en développement
Rebonsoir,
@vinc-mai : Penses tu que conserver les fichiers de config de Zik d'une version sur l'autre peu créer des problèmes de compatibilité dans le futur ?
@mathieuI : Cool ta modif Zenity
Je me suis permis de commenter dans le code les "clear" pour permettre de suivre les traces en mode terminal si besoin.
Voici donc la version avec Zenity : "ZikByGitZenity.sh"
wget http://ordiboy.free.fr/open/Linux/ZikByGitZenity.sh
chmod +x ./ZikByGitZenity.sh
./ZikByGitZenity.sh
et ici la version console "Setup_ZikByGit_0.4.sh" :
wget http://ordiboy.free.fr/open/Linux/Setup_ZikByGit_0.4.sh
chmod +x ./Setup_ZikByGit_0.4.sh
./Setup_ZikByGit_0.4.sh
Voici en lecture directe le code de "ZikByGitZenity.sh"
##################################
## Auteurs : La ZikTeam ;o) ##
## Version: 0.1 ##
## Licence: GNU ##
##################################
#
# Vinc-mai
# mathieuI
# Mouine89
# draco31.fr
# le.nox
#
####################################################################
# wget http://ordiboy.free.fr/open/Linux/ZikByGitZenity.sh ##
# chmod +x ./ZikByGitZenity.sh ##
# ./ZikByGitZenity.sh ##
####################################################################
#
# Site Web : http://zik.rubyforge.org/index.html
# Forum : http://forum.ubuntu-fr.org/viewtopic.php?id=154862&p=1
DEPENDANCES_Zik="git-core libmusicbrainz-ruby1.8 libtagc0-ruby libgst-ruby libgtk2-ruby libgettext-ruby*"
DEPENDANCES_Os="build-essential gstreamer0.10-plugins-base gstreamer0.10-plugins-ugly"
DEPOT=$HOME/.ZiK
reponse=`zenity --list --radiolist --title="Choisissez l'action à réaliser" --separator=" " --column="" --column="" --column="Action" \
--hide-column=2 \
FALSE 1 "Installer Zik" \
FALSE 2 "Mettre à jour Zik" \
FALSE 3 "Désinstaller Zik" `
#Install
case $reponse in
[iI]* | 1)
zenity --info --text="Suppression des anciennes versions de Zik"
gksudo true && apt-get remove zik -y
cd $DEPOT/zik
sudo make uninstall
zenity --info --text="Installation des dépendances nécessaires"
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo $DEPENDANCES_Zik $DEPENDANCES_Os
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
sudo apt-get install $DEPENDANCES_Zik $DEPENDANCES_Os -y
zenity --info --text="Téléchargement et Installation de ZiK grâce au dépôt zik"
cd $DEPOT
if [ -d $DEPOT/zik ]
then
cd $DEPOT/zik
else
cd $DEPOT && git clone git://rubyforge.org/zik.git
fi
cd $DEPOT/zik
./configure
make
sudo make install
echo "\nCréation du raccourci dans le Menu Principal"
#Créer le lanceur
echo "
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Icon[fr_FR]=/usr/local/share/ZiK/pix/ZiK.svg
Categories=GTK;AudioVideo;Audio;
Exec=/usr/local/bin/ZiK.rb
Name[fr_FR]=ZiK
Comment[fr_FR]=Lecteur audio
Name=ZiK
Comment=Lecteur Audio
Icon=/usr/local/share/ZiK/pix/ZiK.svg" | sudo tee "/usr/share/applications/ZiK.desktop"
#clear
zenity --info --text="Installation terminée"
sleep 3
#lance la nouvelle version de Zik
ZiK.rb
#Mise à jour de la Version
;;
[mM]* | 2)
if [ -d $DEPOT/zik ]
then
cd $DEPOT/zik
gksudo true && sudo make uninstall
make distclean
git pull
./configure && make
sudo make install
#clear
zenity --info --text="Mise à jour terminée"
sleep 3
else
cd $DEPOT && git clone git://rubyforge.org/zik.git
cd $DEPOT/zik
./configure
make
gksudo true && make install
#clear
echo " -------------------------"
echo " -------------------------"
echo " Installation dépôt zik "
echo " -------------------------"
echo " -------------------------"
sleep 3
fi
#lance la nouvelle version de Zik
ZiK.rb
#Desinstaller
;;
[dD]* | 3)
cd $DEPOT/zik
gksudo true && sudo make uninstall
sudo apt-get remove $DEPENDANCES_Zik -y
rm -Rf $DEPOT/*
sudo rm /usr/share/applications/ZiK.desktop
#clear
zenity --info --text="Désintallation effectuée"
sleep 3
#Non
;;
[aA]* | 4)
#clear
echo "\nInstallation annulée, au revoir ;O) ..."
sleep 3
clear
#Essayer à nouveau
;;
*)
clear
esac
#exit 0
Demande Aide : Si quelqu'un sait comment contrôler si le dépôt Git est à jour, nous serions preneur du bout de code
Dernière modification par l e . n o x (Le 23/01/2009, à 02:00)
Zik Fan : " Vous seul savez mieux que quiconque comment organiser votre bibliothèque musicale ! "
Linux, y a moins bien.
Mais c'est plus cher. ;O)
Hors ligne
#118 Le 21/01/2009, à 23:19
- draco31.fr
Re : [ZiK]Lecteur audio en développement
edit: ajout d'un paragraphe taglib dansla doc, mais j'ai l'impression que c'est un peu de trop, non ?
Merci pour ta contribution à la doc !
Je pense que ce paragraphe sur taglib a son utilité ... mais pas forcément placé ici !
Je verrai plus une section en fin de page avec les "problèmes rencontrés" (à voir pour le titre de la section).
C'est dans ce genre de section que je mettrai ton paragraphe sur taglib ...
En effet, j'ai peur que les utilisateurs de ZiK, en lisant la doc de haut en bas, commence dès le départ par installer taglib 1.5
Or cela n'est pas nécessaire pour l'installation/utilisation de ZiK. De plus, il est peu recommandé de "pousser" à l'installation de logiciel depuis les sources dans les pages de la doc Ubuntu (qui se veut accessible à tous).
Voilà pour mon point de vue.
Ensuite pour la partie du script de l e . n o x
Je trouve l'explication très bien, mais il me semble important d'insister sur le fait que cela installe la version GIT.
Cette version pourrait être instable ou non fonctionnelle selon les mise-à-jour/évolution ...
Je verrai donc bien une note entre la section "installation depuis le paquet" et la section "installation depuis le script", pour avertir l'utilisateur des "dangers" de prendre la version GIT, même si cette version apporte son lot de nouveauté.
@ vinc-mai
Merci pour les paramètres aléatoire et répétition : y a du mieux.
Je ne suis pas friand du mélange de playliste ... mais je ne serai pas obligé de l'utiliser non plus !
Le projet est très actif (merci encore vincent !) et je suis content d'avoir déterré ce topic
PS : Je viens enfin de comprendre comment on se place en mode "radio" ou "CD" !!!
Dernière modification par draco31.fr (Le 21/01/2009, à 23:20)
Hors ligne
#119 Le 21/01/2009, à 23:42
- Кຼزດ
Re : [ZiK]Lecteur audio en développement
voilà, doc mise à jour
dou
Hors ligne
#120 Le 21/01/2009, à 23:43
- vinc-mai
Re : [ZiK]Lecteur audio en développement
@vinc-mai : Penses tu que conserver les fichiers de config de Zik d'une version sur l'autre peu créer des problèmes de compatibilité dans le futur ?
J'essaye au maximum de garder une compatibilité de fichiers. Depuis le début, seul une version à modifier le format utilisé. Je pense que je vais continuer avec ce format même si il ne respecte pas le format rc. Cependant, ZiK est toujours dans un stade de développement...
Pour la version 1.0, j'écrirai peut-être un script pour transformer les anciennes configuration au formtat rc. Elle supporterait donc le format actuel et le foramt rc. Puis un abandon du format actuel dans la version suivante (2.0(?)).
@ vinc-mai
Merci pour les paramètres aléatoire et répétition : y a du mieux.
Je ne suis pas friand du mélange de playliste ... mais je ne serai pas obligé de l'utiliser non plus !Le projet est très actif (merci encore vincent !) et je suis content d'avoir déterré ce topic lolcool
PS : Je viens enfin de comprendre comment on se place en mode "radio" ou "CD" !!!
Mdr! C'est pas trop tôt!!
Plus sérieusement, il faut peut-être que j'explique mieux ceci dans la documentation!
Draco, as-tu essayer l'option "sort by track" (onglet liste de lecture des préférences). Celà fonctionne-t-il comme tu l'entendais lorsqu'un dossier est peuplé de piste dont le numéro est renseigné dans les tags?Qules inconvénients remarques-tu lorsque les numéros ne sont pas renseignés?
Merci à vous tous pour ces tests.
Hors ligne
#121 Le 21/01/2009, à 23:47
- Кຼزດ
Re : [ZiK]Lecteur audio en développement
pour la compatibilité, il n'y a que des entrées dans le Zikrc qui sont ajoutées ou changent, non ?
dou
Hors ligne
#122 Le 21/01/2009, à 23:57
- vinc-mai
Re : [ZiK]Lecteur audio en développement
En ce moment pas de grand changement dans ZiKrc. Une entrée est parfois ajoutée (fichier reste compatible). Cependant le fichier, bein que humainement lisible (texte)), est un vrai foutoir. L'ordonner et le commenter ne devrait pas modifier la compatibilité.
Le format rc est de la forme
[section1]
entrée1=valeur1
entrée2=valeur2
[section2]
...
alors que ZiK est de la forme
entrée1
valeur1
entrée2
valeur2
...
.
Le code pour écrire/lire ZiKrc est 10 fois plus compact. Mais faudrait que je modifie çà avant la sortie de la 1.0.0.
Dernière modification par vinc-mai (Le 21/01/2009, à 23:58)
Hors ligne
#123 Le 22/01/2009, à 00:42
- l e . n o x
Re : [ZiK]Lecteur audio en développement
Bonsoir,
En cherchent comment importer automatiquement toute une liste de Radio, style Exail avec les shoutcast.
Voici ce qui m'ai arrivé
x@ordiportable:~$ ZiK.rb
/home/x/.ZiK/ZiKrc read.
Add /home/x/.ZiK/ZiK.m3u to playlist.
/home/x/.ZiK/radio read.
Refreshing tree view...done.
[Notify]: module loaded.
[Trayicon]: module loaded.
Add /home/x/Bureau/concordemodial-media.m3u to playlist.
/usr/local/share/ZiK/playlist/song.rb:30:in `initialize': /home/x/Bureau/http://concordemondial.ifrance.com/CDM.m3u not found.
from /usr/local/share/ZiK/playlist/common.rb:72:in `new'
from /usr/local/share/ZiK/playlist/common.rb:72:in `add_file'
from /usr/local/share/ZiK/playlist/common.rb:122:in `add_m3u'
from /usr/local/share/ZiK/playlist/common.rb:53:in `add'
from /usr/local/share/ZiK/gui/gui.rb:897:in `list_add_uris'
from /usr/local/share/ZiK/gui/gui.rb:897:in `each'
from /usr/local/share/ZiK/gui/gui.rb:897:in `list_add_uris'
from /usr/local/share/ZiK/gui/gui.rb:289:in `initialize'
from /usr/local/bin/ZiK.rb:222:in `call'
from /usr/local/bin/ZiK.rb:222:in `main'
from /usr/local/bin/ZiK.rb:222
Player stopped.
Player stopped.
Player stopped.
un autre petit crash :
ordiportable:~$ ZiK.rb
/home/x/.ZiK/ZiKrc read.
Add /home/x/.ZiK/ZiK.m3u to playlist.
/home/x/.ZiK/radio read.
Refreshing tree view...done.
[Notify]: module loaded.
[Trayicon]: module loaded.
Could not read packet header: Succès
Playing mms://live.france24.com/france24_en.wsx .
Gst error
Player stopped.
/usr/local/share/ZiK/player/radioplayer.rb:82: [BUG] Segmentation fault
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
Abandon
Encore et toujours du boulot pour le papa de Zik (desolé )
Dernière modification par l e . n o x (Le 22/01/2009, à 01:34)
Zik Fan : " Vous seul savez mieux que quiconque comment organiser votre bibliothèque musicale ! "
Linux, y a moins bien.
Mais c'est plus cher. ;O)
Hors ligne
#124 Le 22/01/2009, à 02:08
- l e . n o x
Re : [ZiK]Lecteur audio en développement
Hello,
A force de googler depuis quelques heures, je pense que la prochaine grosse étape pour ZiK sera les plugins.
Je m'explique, le lecteur parfais n'existe pas et n'existera jamais.
Cependant les plugins permettent à chacun de se faire avec très peu de compétence techniques SON propre player parfait.
Pourquoi ne pas donner à ZiK la capacité d'intégrer des plugins développés pour d'autres players comme Exaile ou Listen.
Je pense que cela donnera un énorme coup de pub à Zik, et le rendra très attrayant pour le plus grand nombre.
Zik le lecteur "Simple", "Ergonomique de base" et en plus tres complet car accepte tous les plugins et greffons de Exaile et Listen.
il lui faudrait un module de conversion de plugin pour le connecter au Zik actuel.
Voici un plugin en Python qui permet de récupérer la liste des Shoutcasts en auto :
Ecrit par Adam Olsen <arolsen@gmail.com>
#!/usr/bin/env python
# Copyright (C) 2006 Adam Olsen <arolsen@gmail.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
from gettext import gettext as _
import xl.common, urllib, os, re, gobject, xl.panels, gtk
from xl import xlmisc, media, common
from xl.panels import radio
from xl.gui import playlist as trackslist
import xl.plugins as plugins
import xl.path
PLUGIN_ID = 'Shoutcast Radio'
PLUGIN_NAME = _("Shoutcast Radio")
PLUGIN_AUTHORS = ['Adam Olsen <arolsen@gmail.com>']
PLUGIN_VERSION = '0.4.6'
PLUGIN_DESCRIPTION = _(r"""Allows you to browse the Shoutcast Streaming Radio
network""")
PLUGIN_ENABLED = False
PLUGIN_ICON = None
PLUGIN = None
PLS = re.compile("<a href=\"(/sbin/shoutcast-playlist\.pls\?rn=\d+&file="
"filename\.pls)\">.*?<a.*?href=\"[^\"]*\">([^<]*)</a>.*?Now Playing:</font>"
"([^<]*)</font>.*?size=\"2\" color=\"\#FFFFFF\">(\d+/\d+)</font>.*?"
"size=\"2\" color=\"#FFFFFF\">(\d+)</font>")
NEXT = re.compile("startat=(\d+)\">\[ Next")
def parse_genre(genre, stations, url=None, func=None, s_term='sgenre'):
"""
Parses a genre for all streams
"""
if url == None:
url = "http://www.shoutcast.com/directory/" \
"index.phtml?%s=%s&numresult=500" % (s_term,
urllib.quote_plus(str(genre)))
h = urllib.urlopen(url)
data = h.read().replace("\n", " ")
h.close()
xlmisc.log('read url %s' % url)
tup = re.findall(PLS, data)
for station in tup:
new = []
check = True
# make sure the track information is unicode worthy (I have found that
# not all are)
for a in station:
try:
new.append(unicode(a))
except:
check = False
if not check: continue
station = new
s = dict()
s['loc'] = "http://www.shoutcast.com%s" % station[0]
s['album'] = station[1]
s['album'] = station[1]
s['title'] = station[2]
s['bitrate'] = station[4]
s['artist'] = s['loc']
stations.append(s)
if func:
gobject.idle_add(func, s)
if len(stations) >= 100:
return
m = NEXT.search(data)
if m != None:
# check the next page
parse_genre(genre, stations,
"http://www.shoutcast.com/directory/index.phtml" \
"?startat=%s&%s=%s&numresult=500" % (m.group(1), s_term, genre), func)
class ShoutcastDriver(radio.RadioDriver):
"""
Shoutcast Streaming Radio Driver
"""
def __init__(self, panel):
self.model = panel.model
self.folder_icon = panel.folder
self.note_icon = panel.track
self.tree = panel.tree
self.panel = panel
self.add = []
self.count = 0
def load_cache(self, cache_file):
return open(cache_file).readlines()
def save_cache(self, cache_file, lines):
h = open(cache_file, 'w')
for line in lines:
h.write("%s\n" % line)
h.close()
@xl.common.threaded
def load_streams(self, node, load_node, use_cache=True):
"""
Loads the shoutcast streams
"""
cache_file = xl.path.get_cache(PLUGIN_ID + '_radio_plugin.cache')
if use_cache and os.path.isfile(cache_file):
lines = self.load_cache(cache_file)
else:
reg = re.compile(r'<OPTION VALUE="TopTen">-=\[Top 25 Streams\]=-(.*?)</SELECT>', re.DOTALL)
data = urllib.urlopen('http://www.shoutcast.com').read()
m = reg.search(data)
lines = m.group(1).split('\n')
self.save_cache(cache_file, lines)
gobject.idle_add(self.show_streams, lines, node, load_node)
def get_menu(self, item, menu):
menu.append(_('Search'), self.on_search, 'gtk-find')
return menu
def show_streams(self, lines, node, load_node):
"""
Actually displays the stream information
"""
self.model.remove(load_node)
self.last_node = None
for line in lines:
m = re.search(r'<OPTION VALUE="(.*?)">( - )?', line)
if m:
genre = m.group(1)
subgenre_prefix = m.group(2)
if not subgenre_prefix:
self.add_function(node, genre)
else:
self.add_function(self.last_node, genre,
True)
self.tree.expand_row(self.model.get_path(node), False)
def load_genre(self, genre, rel=False):
"""
Loads the genre specified
"""
if rel or not APP.tracks.load(genre, PLUGIN_ID):
self.fetch_genre(genre)
def on_search(self, *e):
dialog = common.MultiTextEntryDialog(self.panel.exaile.window,
_("Search Stations"))
dialog.add_field(_("Search:"))
result = dialog.run()
dialog.hide()
if result == gtk.RESPONSE_OK:
values = dialog.get_values()
self.genre = None
tracks = trackslist.TracksListCtrl(self.panel.exaile)
self.panel.exaile.playlists_nb.append_page(tracks,
xlmisc.NotebookTab(self.panel.exaile, values[0],
tracks))
self.panel.exaile.playlists_nb.set_current_page(
self.panel.exaile.playlists_nb.get_n_pages() - 1)
self.panel.exaile.tracks = tracks
self.tracks = tracks
self.do_search(values[0])
@xl.common.threaded
def do_search(self, value):
stations = []
parse_genre(value, stations, None, self.update, 's')
gobject.idle_add(self.update, None)
xlmisc.log("%d stations were found." % len(stations))
@xl.common.threaded
def fetch_genre(self, genre):
"""
Fetches the specified genre from shoutcast
"""
self.genre = genre
print "genre = ", str(genre)
stations = []
parse_genre(self.genre, stations, None, self.update)
gobject.idle_add(self.update, None)
xlmisc.log("%d stations were found." % len(stations))
def update(self, track):
"""
Updates the RadioTracksList with found tracks
"""
if not track:
if len(self.add):
songs = self.tracks.songs
for track in self.add:
if not track['loc'] in songs.paths:
tr = media.Track()
tr.set_info(**track)
tr.type = 'stream'
songs.append(tr)
self.tracks.set_songs(songs)
self.tracks.exaile.status.set_first(None)
if self.genre:
self.tracks.save(self.genre, PLUGIN_ID)
self.tracks.playlist_songs = self.tracks.songs
elif self.count <= 60:
if not track['loc'] in self.tracks.songs.paths:
tr = media.Track()
tr.set_info(**track)
tr.type = 'stream'
self.tracks.append_song(tr)
else:
self.add.append(track)
self.count += 1
def add_function(self, node, genre, note_icon=False):
icon = self.folder_icon
item = urllib.unquote(genre)
item = radio.RadioGenre(item, self)
if note_icon:
icon = self.note_icon
node = self.model.append(node, [icon, item])
if not note_icon:
self.last_node = node
return False
def __str__(self):
return PLUGIN_NAME
def initialize():
"""
Sets up the shoutcast driver
"""
global PLUGIN
PLUGIN = ShoutcastDriver(APP.pradio_panel)
APP.pradio_panel.add_driver(PLUGIN, plugins.name(__file__))
return True
def destroy():
global PLUGIN
if PLUGIN:
APP.pradio_panel.remove_driver(PLUGIN)
PLUGIN = None
Qu'en pensez vous et qu'en pense Mr Vinc est-ce au moins possible ?
Oups !! faut se coucher la @ demain
Dernière modification par l e . n o x (Le 22/01/2009, à 02:13)
Zik Fan : " Vous seul savez mieux que quiconque comment organiser votre bibliothèque musicale ! "
Linux, y a moins bien.
Mais c'est plus cher. ;O)
Hors ligne
#125 Le 22/01/2009, à 21:36
- vinc-mai
Re : [ZiK]Lecteur audio en développement
Bonjour.
1) bug mms://live.france24.com/france24_en.wsx
Je n'arrive pas lire cette url, ni avce totem, ni avec vlc mais il me semble qu'il s'agit d'un flux video et non audio!
2) liste de Radio
Je ne connaissais pas les liste de radio. Si tu l'ajoute comme radio, ZiK devrai lire la première url qui fonctionne. Il faudrait que je modifie le fonctionnement afin de pouvoir passer à la radio suivante.
Au niveau interface 3 choix semble s'offrir:
-ne proposait qu'une seule entrée pour l'ensemble de la liste,
-ajouter autant d'entrées que nécesaire lors de l'ajout de la liste,
-utiliser un arbre à la place d'une simple liste.
Quel choix vous semble le meilleur?
3) plug-ins
À treme, les modules devrait fonctionner comme des plug-ins. J'aurai peut être du utiliser ce terme. Chacun poura développer son propre module.
Par contre, je ne pense pas qu'on puisse importer un plugin écrit en python (à moins que des compilateur python->ruby existe ). À la rigueur, un plug-in écrit en C, à condition que le mon interface pour les modules soit compatible. Je ne suis pas informaticien. J'ai un peu de mal à mettre en route cette interface. J'ai déjà prévu des changements mais je ne connais pas les règles qui dicte l'écriture de telle interface (ZiK<->modules). Lorsque j'aurais modifier l'interface, l'écriture d'un module devrait être relativement simple. Seules quelques connaissances en ruby seront nécessaires (ruby-gtk pour la partie graphique). Ruby est très simple à apprendre. ZiK est ma première application (mon hello_world à moi!).
4) plugin (module) liste des shoutcasts
Que fais ce plug-in? Il pourrait être recodé en ruby d'ici la sortie de la 1.0.0 ou après...
5) ZikByGitZenity
-i)Installation
zenity --info --text="Suppression des anciennes versions de Zik"
gksudo true && apt-get remove zik -y
cd $DEPOT/zik
sudo make uninstall
Que se passe-t-il si $DEPOT/zik n'existe-pas? Même question si apt-get ne trouuve pas ZiK. Toujours la même question si il n'y a pas de Makefile dans le dossier $DEPOT/zik.
-ii)Installation
Le script ne test pas l'existence de ce dossier. Je propose de remplacer
if [ -d $DEPOT/zik ]
then
cd $DEPOT/zik
else
cd $DEPOT && git clone git://rubyforge.org/zik.git
fi
par
if ! [ -e $DEPOT]
then
mkdir $DEPOT
fi
if [ -d $DEPOT/zik ]
then
cd $DEPOT/zik && git pull
else
cd $DEPOT && git clone git://rubyforge.org/zik.git
end
J'ai ajouter la mise à jour de git au cas où $DEPOT/zik existe.
-iii)Désinstallation
La désinstalltion doit-elle supprimer les source et la configuration? (sûrement)
rm -Rf $DEPOT/*
La variable DEPOT est fixé à $HOME/.ZiK (pourquoi pas à près tout). le rm supprime donc les sources et le dépôt local zik (dossier $DEPOT/zik) mais aussi la configuration garder dans $HOME/.ZiK.
-iv)Amélioration possible
Proposer un choix sur les dépendances à désinstaller avec un choix par défaut pour l'utilisateur de base.
Hors ligne