Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[BASH] aide sur script de lancement pour gmplayer
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
bassman_fr
Apprentice
Apprentice


Joined: 30 Mar 2004
Posts: 201
Location: France Lyon

PostPosted: Thu Sep 16, 2004 8:39 pm    Post subject: [BASH] aide sur script de lancement pour gmplayer Reply with quote

alors je vous explique en fait je souhaite créer un script bash exécutable à mettre dans mon /usr/bin, nommé gmplayerTV, qui lance gmplayer en plein écran sur ma tv, et donc qui prends en paramètres, le nom du film et EVENTUELLEMENT un fichier sous-titres. Voici donc où j'en suis :

Code:
#!/bin/bash
if [$2 = NULL]
  then
DISPLAY=:0.1 gmplayer -fs -vo xv $1
  else
DISPLAY=:0.1 gmplayer -fs -vo xv -sub $2 -font /usr/share/fonts/corefonts/verdana.ttf $1
fi


mon problème réside dans le if, en fait je souhaite tester si il y a ou non un paramètre $2 et le test en l'état actuel ne marche pas.

sinon j'attends vos idées et suggestions d'améliorations !

P.S. pour info j'ai customizé mon xorg.conf d'après un threads du forum anglais pour avoir un deuxieme bureau sur la tv (plus de problemes de resolution) donc si ca intéresse quelqu'un je peux publier mon xorg.conf
Back to top
View user's profile Send private message
jpwalker
Guru
Guru


Joined: 12 Jul 2004
Posts: 503
Location: Annecy - 74 - France - In Tartiflette We Trust ;-)

PostPosted: Fri Sep 17, 2004 8:50 am    Post subject: Reply with quote

Salut,

Je suis une vrai daube en Bash, donc pour ton pb ça va être dur ! :oops: Par contre, ton histoire de bureau m'interesse énormément : peux-tu expliquer en quoi ça consiste exactement et quels problèmes ça résouds (j'ai pas bien saisi le truc) ?

Et oui pour le xorg.conf (partie tvout aussi)

Merci :)
_________________
JPW@lker
Ride & Enjoy
;-)
Back to top
View user's profile Send private message
Sleeper
l33t
l33t


Joined: 12 Nov 2002
Posts: 667

PostPosted: Fri Sep 17, 2004 9:24 am    Post subject: Reply with quote

Code:


#!/bin/bash

[[ $# -eq 2 ]] && SUBTITLE="-sub $2"

DISPLAY=:0.1 gmplayer -fs -vo xv ${SUBTITLE} -font /usr/share/fonts/corefonts/verdana.ttf $1


Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Fri Sep 17, 2004 9:29 am    Post subject: Reply with quote

sinon
Code:
#!/bin/bash
export DISPLAY=0.1;
if ["$2" = "" ]
  then
gmplayer -fs -vo xv $1
  else
gmplayer -fs -vo xv -sub $2 -font /usr/share/fonts/corefonts/verdana.ttf $1
fi

j'aime bien l'idée du export mais c'est accessoire :wink: . Le truc c'est que je crois pas qu'il y a de NULL pour des string c'est "".
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
Beber
Guru
Guru


Joined: 10 Apr 2004
Posts: 300
Location: Kemper, Lutèce

PostPosted: Fri Sep 17, 2004 9:42 am    Post subject: Reply with quote

sireyessire wrote:
Code:

if [ -z "$2" ]
Le truc c'est que je crois pas qu'il y a de NULL pour des string c'est "".

;)

man bash wrote:
Code:
-z string
    True if the length of string is zero.


Je pense que la solution de sleeper est la meilleure
Back to top
View user's profile Send private message
sireyessire
Advocate
Advocate


Joined: 20 Mar 2003
Posts: 2991
Location: back in Paris, France

PostPosted: Fri Sep 17, 2004 9:58 am    Post subject: Reply with quote

cool, je dis pas le contraire mais NULL n'est pas un pointeur vers la string vide, c'est tout. il y a le -z var ou = "".

c'est vrai qu'elle est mieux sa solution, plus joli, mais je ne faisais que debugger pas ré-écrire, et comme ça on a l'explication. :P
_________________
I never think of the future. It comes soon enough.
Albert Einstein

Try simpler first
Shockley
Back to top
View user's profile Send private message
scout
Veteran
Veteran


Joined: 08 Mar 2003
Posts: 1991
Location: France, Paris en Semaine / Metz le W-E

PostPosted: Fri Sep 17, 2004 12:05 pm    Post subject: Reply with quote

Je me permet de faire un petit rappel sur mplayer: si le sous-titre porte le même nom que le fichier vidéo, alors le sous titre est activé automatiquement, donc moi je renommerais les sous-titres pour qu'ils soient là où mplayer les attend, et mplayer les charge si ils sont là ou pas, pas la peine de faire de script.

bon alors là vous allez me dire: "Oui mais moi je suis fort en anglais et je ne veux pas toujours du sous-titre donc je lui donne un nom différent et je n'active les sous-titres qu'avec la deuxième option; parceque ton truc ça les active tout le temps si ils sont là"

et là je réponds: "pour désactiver les sous-titres tu appuyes sur v dans mplayer, et je te rapelle que de taper sur une touche c'est plus court que d'indiquer le nom du sous-titre en ligne de commande, donc tu y gagnes à moins que tes fichiers de sous titre fassent tous une lettre (mais dans ce cas c'est plutôt le bordel pour se souvenir quel sous-titre correspond à quel film ... donc je déconseille cette approche)"

Bon alors après si on aime bien les scripts on peux faire la chose suivante, un script qui si il n'a qu'un seul argument lance mplayer, et si il a 2 argument renomme le deuxième (le sous-titre) de manière à ce qu'il corresponde bien au nom de la vidéo, et lance mplayer. et après lors du deuxième visionnage du film, hop plus besoin d'indiquer le 2eme argument.

Donc en se basant sur ce qu'a fait Sleeper (et oui, désolé sireyessire :P)
Code:
#!/bin/bash

[[ $# -eq 2 ]] && mv "$2" "`echo "$1" | egrep -o ".*\."``echo "$2" | egrep -o "[^\.]*$"`"

DISPLAY=:0.1 gmplayer -fs -vo xv -font /usr/share/fonts/corefonts/verdana.ttf $1

Pour que ça marche il faut qu'il y ait au moins un point dans le nom du sous-titre, pour signaler l'extension, et un point dans le nom de la vidéo, toujours pour l'extension. Maintenant il peux y avoir plusieurs points dans le nom de la vidéo ou du sous-titre ça marche quand même.

euh désolé mais je ne suis pas un gros maître du bash donc je pense qu'il y a plus simple pour renommer le fichier, y'a juste que je ne connais pas la méthode :)
si quelqu'un sait comment faire sans faire le barbare avec des egrep comme moi, je suis preneur. Enfin en gros je trouve avoir fait un truc assez sale, alors expliquez moi comment faire plus propre
_________________
http://petition.eurolinux.org/ - Petition against ePatents
L'essence de la finesse
Back to top
View user's profile Send private message
bassman_fr
Apprentice
Apprentice


Joined: 30 Mar 2004
Posts: 201
Location: France Lyon

PostPosted: Sat Sep 18, 2004 4:56 pm    Post subject: Reply with quote

Merci pour toutes ces réponses qui ont éclairées ma lanterne
:wink:

scout wrote:
moi je renommerais les sous-titres pour qu'ils soient là où mplayer les attend, et mplayer les charge si ils sont là ou pas, pas la peine de faire de script.e


En fait l'intérêt principal du script pour moi c'est de lancer mplayer sur ma tv (le DISPLAY :0.1) et en fullscreen (oui je suis une feignasse :p).
Mais pour les sous-titres tu as raison mieux vaut les renommer c'est plus simple.

jpwalker wrote:
par contre, ton histoire de bureau m'interesse énormément : peux-tu expliquer en quoi ça consiste exactement et quels problèmes ça résouds (j'ai pas bien saisi le truc) ?


En fait mon problème était le suivant : avec ma carte nvidia, la sortie tv marchait très bien, mais mon bureau sur le moniteur d'ordinateur est en résolution 1280x1024. Or la tv ne supporte q'une résolution maximale de 1024x768. Donc en fait lorsque j'activais la sortie tv de facon classique, je me retrouvais avec un bureau qui n'apparais pas entièrement sur la tv. Donc j'ai modifié selon l'idée d'un posteur du forum anglais, mon xorg.conf pour complètement dissocier le bureau de la tv et le bureau du moniteur. voilà c'est tout bête mais moi je trouve ca sympa, et pour lancer une appli sur la tv, il me suffit de preceder la commande de DISPLAY :0.1

je te posterais mon xorg.conf en rentrant chez moi dimanche soir.
Back to top
View user's profile Send private message
bassman_fr
Apprentice
Apprentice


Joined: 30 Mar 2004
Posts: 201
Location: France Lyon

PostPosted: Sun Sep 19, 2004 6:38 pm    Post subject: Reply with quote

voilà :

Code:
Section "ServerLayout"

   Identifier     "Simple Layout"
   Screen      0  "Screen[0]"
   Screen      1  "Screen[1]" RightOf "Screen[0]"
   InputDevice    "Mouse1" "CorePointer"
   InputDevice    "Keyboard1" "CoreKeyboard"
EndSection

Section "Files"

   RgbPath      "/usr/X11R6/lib/X11/rgb"
   FontPath     "/usr/share/fonts/misc/"
   FontPath     "/usr/share/fonts/TTF/"
   FontPath     "/usr/share/fonts/Speedo/"
   FontPath     "/usr/share/fonts/Type1/"
   FontPath     "/usr/share/fonts/CID/"
   FontPath     "/usr/share/fonts/75dpi/"
   FontPath     "/usr/share/fonts/100dpi/"
   FontPath     "/usr/share/fonts/local/"
EndSection

Section "ServerFlags"

       Option       "DPMS"          "off"
       Option       "BlankTime"     "0"
       Option       "StandbyTime"   "0"
       Option       "OffTime"       "0"

EndSection

Section "Module"

   Load          "glx"
   Load        "dbe"
   SubSection "extmod"
      Option       "omit xfree86-dga"
   EndSubSection
   Load  "type1"
   Load  "speedo"
   Load  "freetype"
EndSection

Section "InputDevice"

   Identifier  "Keyboard1"
   Driver      "kbd"
   Option       "AutoRepeat" "500 30"

   Option       "XkbModel" "microsoftprooem"
   Option       "XkbLayout" "fr"
EndSection

Section "InputDevice"

   Identifier  "Mouse1"
   Driver      "mouse"
   Option       "Protocol" "ImPS/2"
   Option       "Device" "/dev/mouse"
   Option      "Buttons"      "5"
   Option      "ZAxisMapping" "4 5"
EndSection

Section "Monitor"

   Identifier   "Monitor[0]"
   HorizSync    31.5 - 80.5
   VertRefresh  60.0 - 75.0
   Option "DPMS"   "off"
EndSection

Section "Monitor"
Identifier "Monitor[1]" #TV
HorizSync 60
VertRefresh 30-150
EndSection

Section "Device"

   Identifier  "Standard VGA"
   Driver      "vga"
   VendorName  "Unknown"
   BoardName   "Unknown"
EndSection

Section "Device"

   Identifier  "Device[0]"
   Driver      "nvidia"
   Option "NvAGP" "2"
   Option "HWCursor"       "true"
   Option "CursorShadow"      "true"
   Option "CursorShadowAlpha"   "75"
   Option "CursorShadowXOffset"   "8"
   Option "CursorShadowYOffset"   "4"
   Option "RenderAccel"       "true"
   Option "NoLogo" "true"
   #Option "TwinView"
   # Option "ConnectedMonitor" "CRT, TV"
   # Option "SecondMonitorHorizSync" "30-50"
   # Option "SecondMonitorVertRefresh" "60"
   # Option "TwinViewOrientation" "Clone
   # Option "TVStandard" "PAL-N"
   # Option "MetaModes" "1280x1024, NULL; 1280x1024, 1024x768@1280x1024"
   # Option "TVOutFormat" "COMPOSITE"

EndSection

Section "Device"
   Driver          "nvidia"
   Identifier      "Device[1]"
   Screen 1
   Option          "TVOutFormat" "Composite" #or S-VIDEO etc
   Option          "TVStandard" "PAL-G" #or NTSC etc
   Option          "ConnectedMonitor" "Monitor[1]"
   BusID           "PCI:1:0:0" #adjust using 'lspci' or cat /proc/pci
EndSection

Section "Screen"
   Identifier "Screen[0]"
   Device     "Device[0]"
   Monitor    "Monitor[0]"
   DefaultDepth     24
   SubSection "Display"
      Viewport   0 0
      Depth     8
      Modes    "1280x1024" "1024x768" "800x600"
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     16
      Modes    "1280x1024" "1024x768" "800x600"
   EndSubSection
   SubSection "Display"
      Viewport   0 0
      Depth     24
      Modes    "1280x1024" "1024x768" "800x600"
   EndSubSection
EndSection

Section "Screen"
  Device "Device[1]"
  Identifier "Screen[1]"
  Monitor "Monitor[1]"
  DefaultDepth 24
  SubSection "Display"
     Depth 24
     Modes "1024x768"
     EndSubSection   
EndSection

Section "DRI"
   Group        0
EndSection
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum