Archive for the ‘MyMC’ Category.

MyMCTk.py : Release v0.2

J’ai enfin résolu le problème d’affichage et je peux donc enfin releaser la version 0.2 (première version avec une interface graphique) de mon MediaCenter ultra-léger et utra-simple!

Il est programmé en Python 3 avec la librairie graphique Tk et a pour but de me former à ce langage…

Screenshot :

MyMCTk

MyMCTk

Installation :

1. Télécharger l’archive sur mon dépôt : MyMCTk.tar.

2. Installez Python 3 selon les commandes habituelles de votre distribution Linux (yaourt python3 pour Archlinux) ou en le téléchargeant sur le site officiel de Python : http://python.org.

3. Installez Mplayer (lecteur multimédia en ligne de commande) de la même manière ou en le téléchargeant sur le site officiel : http://www.mplayerhq.hu.

4. Décompressez l’archive dans le répertoire de votre choix :

tar -vxf mon_fichier.tar

5. Éditez le fichier MyMCTk.py avec votre éditeur de texte préféré (VIM par exemple) :

#------------------------------------------------------#
# PARAMETRAGE                                          #
#------------------------------------------------------#
# Répertoire contenant les films :
FILMSDIR = '/home/monutilisateur/monrepertoiredesfilms/'
#
# Commande pour récupérer les films du FTP :
FTPGET= ''
#
# Commande pour lancer mplayer en plein écran :
MPLAYER  = 'mplayer -fs '
#
# Commande pour éteindre le pc :
SHUTDOWN = 'sudo poweroff'
#
# Autres constantes :
TILDE    = '\''

Vous devez indiquer le lien du répertoire qui contient les films dans FILMDIR, puis au besoin renseigner la commande FTPGET qui vous permet de récupérer les films d’un FTP (ou d’un lecteur réseau, d’un disque usb…) et de les placer dans le répertoire des films FILMDIR.

Normalement vous n’avez pas à changer les autres constantes (sauf si vous voulez remplacer mplayer par un autre player (VLC, etc.).

6. Rendez le fichier exécutable :

chmod +x MyMCTk.py

7. Exécutez le programme :

./MyMCTk.py

Et voilà normalement MyMCTk doit être fonctionnel ;)

8. [ FACULTATIF ] Si vous désirez pouvoir lancer MyMCTk depuis n’importe quel répertoire vous pouvez créer un lien symbolique dans /usr/sbin :

Vous devez être placé dans /usr/sbin/ en root :
ln -s /votre_chemin_vers_le_fichier/MyMCTk.py

Bugs :

Vous pouvez remonter les bugs rencontrés et les suggestions ici même (commentaire ou email)…

Les points sur lesquels je suis en train de travailler :

  • Prise en charge des fichiers avec des apostrophes dans le nom,
  • Ajout d’un bouton pour effacer un film,
  • Ajout d’un bouton pour renommer un film,
  • Rafraichissement de la liste…

MyMCTk.py – Tkinter issue :(

Depuis hier je me prends la tête un problème avec Tkinter :

Tk issue :(

Tk issue :(

La taille de la listbox (zone ou sont affichés les titres des films) ne s’adapte à la taille de la fenêtre qu’en largeur!

J’ai essayé de nombreuses combinaison avec les fill=”", les side= et les expand=”" sans aucun succès…

Voici les extraits du code :

#--------------
# DECLARATIONS
#--------------
# Liste contenant les différents fichiers du répertoire :
ListeRepertoire = []
#
# Fenêtre principale :
Fenetre = tkinter.Tk()
#
# Division verticale de la fenêtre :
Division = tkinter.PanedWindow(orient=tkinter.VERTICAL)
#
# Panneau Supérieur :
PanneauSup = tkinter.Label(Division)
#
# Panneau Inférieur :
PanneauInf = tkinter.PanedWindow(orient=tkinter.HORIZONTAL)
PanneauInf1 = tkinter.Label(PanneauInf)
PanneauInf2 = tkinter.Label(PanneauInf)
PanneauInf3 = tkinter.Label(PanneauInf)
PanneauInf4 = tkinter.Label(PanneauInf)
PanneauInf5 = tkinter.Label(PanneauInf)
#
# Ascenseur de la fenêtre principale :
Ascenseur = tkinter.Scrollbar(PanneauSup,orient=tkinter.VERTICAL)
#
# Liste des films de la fenêtre principale :
Liste = tkinter.Listbox(PanneauSup, yscrollcommand=Ascenseur.set)
#
# Bouton Play de la fenêtre principale :
BoutonPlay = tkinter.Button(PanneauInf1,text='Play')
#
# Bouton Mise à jour FTP de la fenêtre principale :
BoutonFtp = tkinter.Button(PanneauInf2,text='FTP')
#
# Bouton Quit de la fenêtre principale :
BoutonQuit = tkinter.Button(PanneauInf3,text='Quit')
#
# Bouton Shutdown de la fenêtre principale :
BoutonShutdown = tkinter.Button(PanneauInf4,text='Bye')
#
#------------
# PROGRAMME
#------------
Division.pack(expand="yes", fill="both")
Division.add(PanneauSup)
PanneauInf.pack(expand="false", fill="none")
PanneauInf.add(PanneauInf1)
PanneauInf.add(PanneauInf2)
PanneauInf.add(PanneauInf3)
PanneauInf.add(PanneauInf4)
PanneauInf.add(PanneauInf5)
Division.add(PanneauInf)
#
# On affiche l'ascenceur et on le place sur la gauche :
Ascenseur.pack(side=tkinter.LEFT,fill=tkinter.Y)
Ascenseur.config(command=Liste.yview)
#
# Affichage de la liste :
Liste.pack(expand="yes", fill="both")
#
# On affiche le bouton Play :
BoutonPlay.pack(fill="none")
#
# On affiche le bouton FTP :
BoutonFtp.pack(fill="none")
#
# On affiche le bouton Quit :
BoutonQuit.pack(fill="none")
#
# On affiche le bouton Shutdown :
BoutonShutdown.pack(fill="none")

Si quelqu’un a une idée ou une suggestion pour corriger ce problème je suis tout ouie ;)

MyMCTk.py – Bientôt la release :)

J’ai eu un peu de temps libre ce soir… J’ai donc pu travailler un peu sur mon media-center!

Comme promis, j’ai commencé l’interface graphique pour une utilisation simplifiée pour les non-geek ;) J’ai choisit la librairie Tkinter de Python pour la simplicité (elle est fournie avec Python). Le media-center fonctionne actuellement mais j’ai encore quelques problèmes graphiques à résoudre (voir le problème d’ajustement automatique de la taille de la liste en hauteur qui créé des blancs au dessous et au dessus des boutons).

Dès que ce problème est résolu, je fignole le code, le design et je release le media-center…

En attendant, un petit aperçu :

Aperçu de MyMCTk.py (en developpement)

Aperçu de MyMCTk.py (en developpement)

Release prévue ce weekend !! ;)

Python 3 – MyMediaPlayer Release 0.1

J’ai découvert dans le magazine GNU/Linux Magazine France HS 40 le langage Python…
En fait j’en avais déjà entendu parler mais je n’avais jamais pris le temps de m’y intéresser.
Après une lecture rapide du magazine, j’ai décidé de faire quelques petites manipulations. La simplicité du langage m’a interpelé!
Pour découvrir ce langage dans sa version 3, j’ai décidé de faire un petit programme pour mon media center…
Je récapitule, sur la TV de mon salon j’ai une eeeBOX de branchée (Archlinux + Slim + Wmii-hg + Mplayer + Firefox).
Comme ma copine n’est pas une geek ^^ j’ai décidé de lui faire un petit programme qui est lancé au démarrage et qui liste les films disponibles. Il lui suffira de taper le numéro du film pour lancer mplayer en plein écran. Pour éteindre le PC il lui suffira de taper ‘bye’!

MyMC.py en action :

MyMC en action !

Cette première version est fonctionnelle mais ça reste une maquette… Aussi, la prochaine étape est de créer une interface graphique en tk pour rendre l’utilisation plus agréable!

Si vous voulez le tester, ou simplement regarder le code source, la source python est disponible ici : MyMC.py.