Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/03/2012, à 18:53

kde4 fan

kdialog

besoin d'explication
pour un petit script kdialog
comment récupérer les sélection a b ou c

    CHOIX=$(kdialog --title "fenêtre" --separate-output --checklist "fenêtre Options:" a "Afficher Sur Tous Les Bureaux" off b "Désactiver Le Son Des Vidéos" off c "Lecture En Continue" off) && echo "${CHOIX}"

puis les transformer en

    if [ CHOIX='a' ]; then
        FACE='-s'
fi
    if [ CHOIX='b' ]; then
        NOSOUND='-nosound'
fi
    if [ CHOIX='c' ]; then
        BOUCLE='-loop 0 &'
fi

pour que si a est choisi -s soit écrit en sortie
si pas de sélection rien ne doit être écrit en sortie
pour que si b est choisi -nosound soit écrit en sortie
si pas de sélection rien ne doit être écrit en sortie
pour que si c est choisi -loop 0 & soit écrit en sortie
si pas de sélection rien ne doit être écrit en sortie
merci


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#2 Le 17/03/2012, à 22:23

sputnick

Re : kdialog

Voici :


#!/bin/bash

choix=$(kdialog --title "fentre" --separate-output --checklist "fentre Options:" a "Afficher Sur Tous Les Bureaux" off b "Dsactiver Le Son Des Vidos" off c "Lecture En Continue" off)

for c in $choix; do
    case $c in
        a) face='-s' ;;
        b) nosound='-nosound' ;;
        c) boucle='-loop 0 &' ;;
        *) echo >&2 erreur ;; 
    esac
done

echo $face
echo $nosound
echo $boucle

On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#3 Le 18/03/2012, à 00:34

kde4 fan

Re : kdialog

merci sputnick
cela est bon
mais si je veut renvoyer dans une variable comment procéder

choix=$(kdialog --title "Dreamnux" --separate-output --checklist "Dreamnux Options:" a "Afficher Sur Tous Les Bureaux" off b "Dsactiver Le Son Des Vidos" off c "Lecture En Continue" off)

for c in $choix; do
    case $c in
        a) face='-s' ;;
        b) nosound='-nosound' ;;
        c) boucle='-loop 0 &' ;;
        *) echo >&2 erreur ;; 
    esac
done

echo $face
echo $nosound
echo $boucle

    VIDEOS=$(kdialog --title "Dreamnux" --getopenfilename "${CHEMIN}" " *.avi *.mp4 *.flv *.mpg*.wmv *.mkv *.mov")

echo "${VIDEOS}"

    VID="xwinwrap -ni -fs "${face}" -st -sp -b -nf -o 0.40 -- mplayer -framedrop -nolirc -wid WID -quiet -vo , "${nosound}" "${VIDEOS}" "${boucle}" "

echo "${VID}"

la variable VID correspond au lancement de la commande  finale
elle contiens les variable de choix "${face}" "${nosound}" "${boucle}"
qui ne se remplisse pas en fonction du choix
merci


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#4 Le 18/03/2012, à 00:51

sputnick

Re : kdialog

Il faut retirer les double quotes :

VID="xwinwrap -ni -fs $face -st -sp -b -nf -o 0.40 -- mplayer -framedrop -nolirc -wid WID -quiet -vo , $nosound $VIDEOS $boucle"

Comme ça si une variable est vide, ben ca fera rien tout simplement, l'option exiostera pas, mais la commande fonctionnera.


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#5 Le 18/03/2012, à 01:29

kde4 fan

Re : kdialog

cela ne fonctionne pas

#!/bin/bash
#    CHEMIN=""${HOME}"/.Dreamnux/videos/"

choix=$(kdialog --title "Dreamnux" --separate-output --checklist "Dreamnux Options:" a "Afficher Sur Tous Les Bureaux" off b "Dsactiver Le Son Des Vidos" off c "Lecture En Continue" off)

for c in $choix; do
    case $c in
        a) face='-s' ;;
        b) nosound='-nosound' ;;
        c) boucle='-loop 0 &' ;;
        *) echo >&2 erreur ;; 
    esac
done

echo $face
echo $nosound
echo $boucle

    VIDEOS=$(kdialog --title "Dreamnux" --getopenfilename "${CHEMIN}" " *.avi *.mp4 *.flv *.mpg*.wmv *.mkv *.mov")

echo "${VIDEOS}"

    VID="xwinwrap -ni -fs $face -st -sp -b -nf -o 0.40 -- mplayer -framedrop -nolirc -wid WID -quiet -vo , $nosound $VIDEOS $boucle"

echo "${VID}"

quelque soit le choix toute les variable se remplisse


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#6 Le 18/03/2012, à 21:47

sputnick

Re : kdialog

Il ne faut pas mettre de quotes sur

 " *.avi *.mp4 *.flv *.mpg*.wmv *.mkv *.mov"

sinon tu dit à kdialog que c'est un seul et même élément.
De plus pour que ça marche, la variable $CHEMIN doit être dé-commentée.


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#7 Le 19/03/2012, à 02:04

kde4 fan

Re : kdialog

merci sputnick

De plus pour que ça marche, la variable $CHEMIN doit être dé-commentée

une petite erreur de copy sur le forum
si tu pouvais me corriger si tu a du temp

#!/bin/bash


# bash,kdialog #
# kDreamnux v 1 #
# 2012 #


# ---------------------------------------------------
# commande qui qui crée un fichier log
# ---------------------------------------------------
rm "${HOME}"/.Dreamnux/Dreamnux.log

#exec >& >(tee "${HOME}"/.Dreamnux/Dreamnux.log)
exec 2> >(tee -a "${HOME}"/.Dreamnux/Dreamnux.log)
# ---------------------------------------------------

# ---------------------------------------------------
# commande pour fermer xwinwrap et kdialog
# ---------------------------------------------------
killall xwinwrap
killall mplayer
killall kDreamnux
killall kdialog
# ---------------------------------------------------

    CHEMIN=""${HOME}"/.Dreamnux/videos/"
    XSC="/usr/lib/xscreensaver/"
# ---------------------------------------------------
# Fonction qui crée les fichiers de démarrage
# ---------------------------------------------------
#function fonc_autostart()
#{
#    cd ~/.config/autostart
#    echo "[Desktop Entry]" > Dreamnux-demarrage.desktop
#    echo "Encoding=UTF-8" >> Dreamnux-demarrage.desktop
#    echo "Name=Bureau-Animer " >> Dreamnux-demarrage.desktop
#    echo "GenericName=Bureau-Animer Dreamnux" >> Dreamnux-demarrage.desktop
#    echo "Comment=Bureau-Animer Dreamnux" >> Dreamnux-demarrage.desktop
#    echo "Exec=.Dreamnux/Dreamnux-demarrage" >> Dreamnux-demarrage.desktop
#    echo "Type=Application" >> Dreamnux-demarrage.desktop
#    echo "Icon="${HOME}"/.Dreamnux/icones/TV.png" >> Dreamnux-demarrage.desktop
#    echo "X-GNOME-Autostart-enabled=true"
#}
# ---------------------------------------------------
# ---------------------------------------------------
#function restoration_fond()
#{
#    IMAGE=`gconftool-2 -g /desktop/gnome/background/picture_filename`
#    TAILLE=`gconftool-2 -g /desktop/gnome/background/picture_options`
#    COULEUR=`gconftool-2 -g /desktop/gnome/background/primary_color`
#    echo "gconftool-2 --type string --set /desktop/gnome/background/picture "${IMAGE}""
#    echo "gconftool-2 --type string --set /desktop/gnome/background/picture_options "${TAILLE}""
#    echo "gconftool-2 --type string --set /desktop/gnome/background/primary_color \"${COULEUR}\""
#}
# ---------------------------------------------------

# ---------------------------------------------------
#function fonc_fond()
#{
#    echo "gconftool-2 --type string --set /desktop/gnome/background/picture_options none"
#}

# ---------------------------------------------------
function fonc_retard()
{
    retard=$(kdialog --title "kDreamnux retard Au Boot" --menu "Temps En Seconde Avant Lancement De kDreamnux Au Boot:" 1 "6 Seconde Avant Lancement De kDreamnux" 2 "7 Seconde Avant Lancement De kDreamnux" 3 "8 Seconde Avant Lancement De kDreamnux" 4 "9 Seconde Avant Lancement De kDreamnux" 5 "10 Seconde Avant Lancement De kDreamnux")

    if [ $? = 1 ]; then
exit
fi

for c in $retard; do
    case $c in
        1) retard='6' ;;
        2) retard='7' ;;
        3) retard='8' ;;
        4) retard='9' ;;
        5) retard='10' ;;
        *) echo >&2 erreur ;; 
    esac
done
}

function fonc_trans()
{
    trans=$(kdialog --title "kDreamnux Options" --menu "Ajustez La Transparence:" 1 "Transparence 10%" 2 "Transparence 20%" 3 "Transparence 30%" 4 "Transparence 40%" 5 "Transparence 50%" 6 "Transparence 60%" 7 "Transparence 70%" 8 "Transparence 80%" 9 "Transparence 90%" 10 "Transparence 100%")

    if [ $? = 1 ]; then
exit
fi

for c in $trans; do
    case $c in
        1) trans='0.10' ;;
        2) trans='0.20' ;;
        3) trans='0.30' ;;
        4) trans='0.40' ;;
        5) trans='0.50' ;;
        6) trans='0.60' ;;
        7) trans='0.70' ;;
        8) trans='0.80' ;;
        9) trans='0.90' ;;
       10) trans='0.100' ;;
        *) echo >&2 erreur ;; 
    esac
done
}

function fonc_multiple()
{
#    if [ $videos = 1 ]; then
    multiple=$(kdialog --title "kDreamnux multiple Vidéos" --multiple --getopenfilename "$CHEMIN" " *.avi *.mp4 *.flv *.mpg*.wmv *.mkv *.mov")
#else
#    multiplexsc=$(kdialog --title "kDreamnux multiple xscreen" --multiple --getopenfilename "$XSC" " *.*")
#fi

if [ $? = 1 ]; then
exit
fi
}

function fonc_un()
{
#    if [ $videos = 1 ]; then
    un=$(kdialog --title "kDreamnux une Vidéos" --getopenfilename "$CHEMIN" " *.avi *.mp4 *.flv *.mpg*.wmv *.mkv *.mov")
#else
#    unxsc=$(kdialog --title "kDreamnux un xscreen" --getopenfilename "$XSC" " *.*")
#fi

if [ $? = 1 ]; then
exit
fi
}

function fonc_videos()
{
    VID="xwinwrap -ni -fs $face -st -sp -b -nf -o $trans -- mplayer -framedrop -nolirc -wid WID -quiet -vo , $nosound $multiple$un $boucle"

    kdialog --title "kDreamnux" --passivepopup \ "$VID" 10
    if [ $? = 1 ]; then
exit
fi
}

function fonc_xscreen()
{
    xscreen="xwinwrap -ni -argb -fs $face -st -sp -b -nf -o $trans -- $multiplexsc$un -window-id WID"

    kdialog --title "kDreamnux" --passivepopup \ "$xscreen" 10
    if [ $? = 1 ]; then
exit
fi
}

function fonc_choix()
{
    choix=$(kdialog --title "kDreamnux choix" --separate-output --checklist "kDreamnux Options:" a "Afficher Sur Tous Les Bureaux" off b "Dsactiver Le Son Des Vidéos" on c "Lecture En Continue" off d "Lancer Au Démarrage Du Système" off e "Ajustez La Transparence" on f "Désactiver Le Fond D'Écran" off g "multiple Fichiers" off h "un Fichier" on i "une VIDEOS" on j "un XSCREN" off)

    if [ $? = 1 ]; then
exit
fi

for c in $choix; do
    case $c in
        a) face='-s' ;;
        b) nosound='-nosound' ;;
        c) boucle='-loop 0' ;;
        d) 'fonc_retard' ;;
        e) 'fonc_trans' ;;
        f) 'fonc_fond' ;;
        g) 'fonc_multiple' ;;
        h) 'fonc_un' ;;
        i) 'fonc_videos' ;;
        j) 'fonc_xscreen' ;;
        *) echo >&2 erreur ;; 
    esac
done
}
j
fonc_choix

echo $face
echo $nosound
echo $boucle
echo $retard
echo $trans
echo $fond
echo $multiple
echo $un
echo $videos
echo $xscreen

#echo "$VIDEOS"

$VID &
    kdialog --title "kDreamnux Annuler" --yesno "Annuler La Sélection Actuel.\n "$multiple$un" ?"
    if [ $? = 1 ]; then
exit
fi

merci


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#8 Le 19/03/2012, à 02:34

sputnick

Re : kdialog

Quand on demande de l'aide, il faut être précis, détaillé et factuel.
Qu'est-ce qui "marche pas", à quoi t'attends tu, qu'obtient tu ?


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#9 Le 19/03/2012, à 02:49

kde4 fan

Re : kdialog

a priori se code fonctionne ce n'est pas fini
notamment les commandes spécifique a kde

# ---------------------------------------------------
# Fonction qui crée les fichiers de démarrage
# ---------------------------------------------------
#function fonc_autostart()
#{
#    cd ~/.config/autostart
#    echo "[Desktop Entry]" > Dreamnux-demarrage.desktop
#    echo "Encoding=UTF-8" >> Dreamnux-demarrage.desktop
#    echo "Name=Bureau-Animer " >> Dreamnux-demarrage.desktop
#    echo "GenericName=Bureau-Animer Dreamnux" >> Dreamnux-demarrage.desktop
#    echo "Comment=Bureau-Animer Dreamnux" >> Dreamnux-demarrage.desktop
#    echo "Exec=.Dreamnux/Dreamnux-demarrage" >> Dreamnux-demarrage.desktop
#    echo "Type=Application" >> Dreamnux-demarrage.desktop
#    echo "Icon="${HOME}"/.Dreamnux/icones/TV.png" >> Dreamnux-demarrage.desktop
#    echo "X-GNOME-Autostart-enabled=true"
#}
# ---------------------------------------------------

je cherche l’équivalent pour kde


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#10 Le 24/03/2012, à 15:42

kde4 fan

Re : kdialog

besoin d'aide pour

function fonc_streaming()
{

# ---------------------------------------------------
# Vérification de la connexion internet teste du ping si ok
# ---------------------------------------------------
        ping -c3 212.27.38.253
        TEST=$?

        if [ "${TEST}" -ne 0 ]; then
        kdialog --error "kDreamnux Teste De Connexion Échouer Vérifier Si Vos Réglages Réseaux Sont Bon"
        cd "${HOME}"/.Dreamnux
        bash "${HOME}"/.Dreamnux/Kdreamnux
        exit
fi

rep_home="${HOME}/.Dreamnux"
rep_listes="${rep_home}/listes"
rep_logos="${rep_home}/logos"
rep_icons="${rep_home}/icones"

# ---------------------------------------------------
# Trie de la liste .m3u et séparation
# en 3 liste .m3u "hd" "sd" "ld"
# ---------------------------------------------------
 wget -O - http://mafreebox.freebox.fr/freeboxtv/playlist.m3u > >(
   read && tee "${rep_listes}"/tvfreebox_{h,l,s}d.m3u >/dev/null <<< "${REPLY}" 
   while { read; read url; }
   do
       [[ ${url} == *[hls]d ]] && printf "%s\n%s\n" "${REPLY}" "${url}" >> "${rep_listes}/tvfreebox_${url##*=}.m3u"
   done
 )
# ---------------------------------------------------

# ---------------------------------------------------
# création d'une boite de dialogue de type kdialog list
# et affichage des liste .m3u en fonction du flux
# ---------------------------------------------------
# m3uSelected="$(cd "${rep_listes}"; kdialog --title "Choix du format Liste De Streaming TV" --radiolist tvfreebox_{h,l,s}d.m3u)"
# 
# fonc_anuler
# 
# liste=()
# while read
#  do
#      [[ "${REPLY}" == \#EXTINF* ]] && {
#          liste+=( "${REPLY#* - }")
#          read
#          liste+=("${REPLY}")
#      }
# done < "${rep_listes}/${m3uSelected}"
# ---------------------------------------------------
# 
# ---------------------------------------------------
# trie et affichage des chaine de tv
# dans boite de dialogue de type zenity --list
# ---------------------------------------------------
# canal="$(kdialog --title "Choix de la chaine" --radiolist "${liste[@]}")"
# 
# fonc_anuler
# 
# { read; chaine="${REPLY}"; read; url="${REPLY}"; } <<< "${canal}"
# logo="${chaine%%HD*}"
# logo="${logo% }"
# logo="${logo// /_}.png"
# echo "xwinwrap -ni -o "${trans}" -fs "${face}" -st -sp -b -nf -- mplayer -framedrop -nolirc -wid WID -really-quiet -ao pulse -vo , "${nosound}" -nortc \"${REPLY}\" " >> Rejouer
 }

j'aimerai afficher dans kdialog

m3uSelected="$(cd "${rep_listes}"; kdialog --title "Choix du format Liste De Streaming TV" --radiolist tvfreebox_{h,l,s}d.m3u)"

mais dans le code actuelle cela ne fonctionne pas
puis
j'aimerai afficher dans kdialog

canal="$(kdialog --title "Choix de la chaine" --radiolist "${liste[@]}")"

mais dans le code actuelle cela ne fonctionne pas non plus
merci


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#11 Le 24/03/2012, à 22:45

sputnick

Re : kdialog

Voici une implémentation simple, concise et fonctionelle de ce que tu veux faire et qui fonctionne, t'a qu'a broder autour :

#!/bin/bash
# 2012-03-24 21:34:55.0 +0100 / sputnick <gilles <DOT> quenot <AT> gmail>

format=$(kdialog --menu "Choix du format des flux freebox" ld ld sd sd hd hd) || exit 1
stream=$(
    kdialog --menu "Choisir une chaine en format $format" $(
        wget -q -O - http://mafreebox.freebox.fr/freeboxtv/playlist.m3u | awk -vformat=$format '
            /#EXTINF/{
                $1=$2=""
                chaine=$0
                gsub(" ", "_", chaine)
                gsub("^_+", "", chaine)
                getline
                url=$0
                if (url ~ "rtsp://.*"format) {
                    printf("%s %s ", url, chaine)
                }
            }'
    )
)

if [[ $stream ]]; then
    mplayer "$stream"
else
    echo >&2 "Probleme pour recuperer les flux rtsp de la freebox"
    exit 1
fi

# vim:ts=4:sw=4

Edit:

si tu tiens à créer des playlists comme dans tes essais, voici une solution simple et propre :

wget -q -O - http://mafreebox.freebox.fr/freeboxtv/playlist.m3u | awk '
    /#EXTINF/{
        $1=$2=""
        chaine=$0
        gsub("^ +", "")
        getline
        url=$0
        if (url ~ "rtsp://.*") {
            ext=substr($0, (length($0) -1), 2)
            print chaine"\n"url >> "/tmp/playlist_"ext".m3u"
        }
    }'
ls /tmp/playlist_*

Dernière modification par sputnick (Le 24/03/2012, à 23:02)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#12 Le 25/03/2012, à 00:59

kde4 fan

Re : kdialog

sputnick
extra cela fonctionne
a titre informatif l'affichage des icône dans kdialog --menu
est il possible ?


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#13 Le 25/03/2012, à 01:28

sputnick

Re : kdialog

pour les images dans kdialog, je ne sais pas, ça a pas l'air possible.

Cherche du coté de glade ou glade2script (recherche forum) mais c'est pas si facile.


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#14 Le 25/03/2012, à 19:10

kde4 fan

Re : kdialog

sputnick merci
si je veux décomposer les action de

playlist=""${HOME}"/.Dreamnux/listes/playlist_sd.m3u"

if [ -f $playlist ]; then
        kdialog --msgbox "${playlist}"
else
wget -q -O - http://mafreebox.freebox.fr/freeboxtv/playlist.m3u | awk '
    /#EXTINF/{
        $1=$2=""
        chaine=$0
        gsub("^ +", "")
        getline
        url=$0
        if (url ~ "rtsp://.*") {
            ext=substr($0, (length($0) -1), 2)
            print chaine"\n"url >> "'"${HOME}"'/.Dreamnux/listes/playlist_"ext".m3u"
        }
    }'
ls "${HOME}"/.Dreamnux/listes/playlist_*
fi

qui me permet de sauver les playlist
puis

format=$(kdialog --menu "Choix du format des flux freebox" ld ld sd sd hd hd) || exit 1
stream=$(
    kdialog --menu "Choisir une chaine en format $format" $(
        wget -q -O - http://mafreebox.freebox.fr/freeboxtv/playlist.m3u | awk -vformat=$format '
            /#EXTINF/{
                $1=$2=""
                chaine=$0
                gsub(" ", "_", chaine)
                gsub("^_+", "", chaine)
                getline
                url=$0
                if (url ~ "rtsp://.*"format) {
                    printf("%s %s ", url, chaine)
                }
            }'
    )
)

a partir des fichier playlist et non directement (pas besoin de wget ici)
et enfin on lance la commande

if [[ $stream ]]; then
#    mplayer "$stream"
    freebox="xwinwrap -ni -fs $face -st -sp -b -nf -o $trans -- mplayer -framedrop -nolirc -wid WID -really-quiet -ao pulse -vo , $nosound -nortc "$stream" & " 
    kdialog --title "kDreamnux Chargement De la Chaine" --passivepopup \ "$stream" 10
    $freebox
else
    echo >&2 "Probleme pour recuperer les flux rtsp de la freebox"
    exit 1
fi
}

merci

Dernière modification par kde4 fan (Le 25/03/2012, à 19:13)


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#15 Le 25/03/2012, à 21:12

sputnick

Re : kdialog

Par ici -> .


#!/bin/bash

workdir="$HOME/.Dreamnux/listes/"

mkdir -p "$workdir"
shopt -s nullglob
playlists=( $workdir/playlist*m3u )
format=$(kdialog --menu "Choix du format des flux freebox" ld ld sd sd hd hd) || exit 1

if (( ${#playlists[@]} < 3 )); then
    wget -q -O - http://mafreebox.freebox.fr/freeboxtv/playlist.m3u | awk -vHOME=$HOME '
    /#EXTINF/{
        $1=$2=""
        chaine=$0
        gsub("^ +", "")
        getline
        url=$0
        if (url ~ "rtsp://.*") {
            ext=substr($0, (length($0) -1), 2)
            print url"\n"chaine >> HOME"/.Dreamnux/listes/playlist_"ext".m3u"
        }
    }'
fi

stream=$(kdialog --menu "Choisir une chaine en format $format" $(sed 's:^ *::g; s: :_:g' "$workdir/playlist_${format}.m3u"))

if [[ $stream ]]; then
    kdialog --title "kDreamnux Chargement De la Chaine" --passivepopup \ "$stream" 10
    xwinwrap -ni -fs $face -st -sp -b -nf -o $trans -- mplayer -framedrop -nolirc -wid WID -really-quiet -ao pulse -vo , $nosound -nortc $stream &
else
    echo >&2 "Probleme pour recuperer les flux rtsp de la freebox"
    exit 1
fi

Walla tongue


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#16 Le 26/03/2012, à 15:03

kde4 fan

Re : kdialog

sputnick merci
je rencontre une érreur dans le non des chaines dans kdialog --menu

stream=$(kdialog --menu "Choisir une chaine en format $format" $(sed 's:^ *::g; s: :_:g' "$workdir/playlist_${format}.m3u"))

il manque des chaine
et si je sélectionne une chaine une autre est retourner dans

if [[ $stream ]]; then
    kdialog --title "kDreamnux Chargement De la Chaine" --passivepopup \ "$stream" 10

je pense que cela doit venir d'un mauvais formatage mais je ne suis pas sur
donc la commande final n'est pas bonne


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#17 Le 26/03/2012, à 15:24

sputnick

Re : kdialog

Sans autre précisions, erreur, exemples, je ne vois pas quoi te dire.


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#18 Le 26/03/2012, à 15:46

kde4 fan

Re : kdialog

sputnick
alors je me suis tromper il ne manque pas de chaine de tv mais au contraire la liste des chain tv se réplique plusieurs  fois  dans la fenêtre kdialog --menu

stream=$(kdialog --menu "Choisir une chaine en format $format" $(sed 's:^ *::g; s: :_:g' "$workdir/playlist_${format}.m3u"))

donc erreur au lieu d’avoir une liste complète je me retrouve avec 4fois la liste dans la même liste

exemples
france2 sélectionner franceO envoyer dans

f [[ $stream ]]; then
    kdialog --title "kDreamnux Chargement De la Chaine" --passivepopup \ "$stream" 10

avec le code actuelle la commande finale est

xwinwrap -ni -fs  -st -sp -b -nf -o 0.50 -- mplayer -framedrop -nolirc -wid WID -really-quiet -ao pulse -vo ,  -nortc NT1

dons pas bon au lieu de -nortc NT1 il faudrais l'url

-nortc rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=sd

voila je ne sais pas si je suis claire

Dernière modification par kde4 fan (Le 26/03/2012, à 17:17)


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#19 Le 27/03/2012, à 15:54

kde4 fan

Re : kdialog

sputnick
après plusieurs recherche dans le code
la variable "$stream" ne renvoi pas la bonne commande
ceci est sûrement du a une petite érreur dans le trie des playlists
qui ne commence pas par france_2 mais par france_3


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne

#20 Le 30/03/2012, à 17:39

kde4 fan

Re : kdialog

avec ce code

#!/bin/bash

    rep_home="${HOME}/.Dreamnux"
    rep_listes="${rep_home}/listes"

# ---------------------------------------------------
# Trie de la liste .m3u et séparation
# en 3 liste .m3u "hd" "sd" "ld"
# ---------------------------------------------------
wget -O - http://mafreebox.freebox.fr/freeboxtv/playlist.m3u > >(
  read && tee "${rep_listes}"/tvfreebox_{h,l,s}d.m3u >/dev/null <<< "${REPLY}" 
  while { read; read url; }
  do
      [[ ${url} == *[hls]d ]] && printf "%s\n%s\n" "${REPLY}" "${url}" >> "${rep_listes}/tvfreebox_${url##*=}.m3u"
  done
)

# ---------------------------------------------------
 
# ---------------------------------------------------
# création d'une boite de dialogue de type kdialog --menu
# et affichage des liste .m3u en fonction du flux
# ---------------------------------------------------
format="$(cd "${rep_listes}"; kdialog --icon "${icon}" --menu "Choix du format des flux freebox" tvfreebox_hd.m3u tvfreebox_hd.m3u tvfreebox_ld.m3u tvfreebox_ld.m3u tvfreebox_sd.m3u tvfreebox_sd.m3u)" || exit 1

liste=()
while read
do
    [[ "${REPLY}" == \#EXTINF* ]] && {
        liste+=( "${REPLY#* - }")
        read
        liste+=("${REPLY}")
    }
done < "${rep_listes}/${format}"

# ---------------------------------------------------

# ---------------------------------------------------
# trie et affichage des chaine de tv
# dans boite de dialogue de type kdialog --menu
# ---------------------------------------------------autoclose
     stream="$(kdialog --icon "${icon}" --menu "Choisir une chaine en format $format" $'\n' "${liste[@]}")" || exit 1

{ read; chaine="${REPLY}"; read; url="${REPLY}"; } <<< "${stream}"

     freebox="xwinwrap -ni -fs $face -st -sp -b -nf -o $trans -- mplayer -framedrop -nolirc -wid WID -really-quiet -ao pulse -vo , $nosound -nortc "${stream}" & "

toute les affichage sont ok

pour les commandes
je me retrouve avec un décalage d'une ligne dans la sélection d'une chaine
dans

stream="$(kdialog --icon "${icon}" --menu "Choisir une chaine en format $format" $'\n' "${liste[@]}")" || 

je suis perdu dans le code
si quelle qu’un a une solution
merci


-------------------------------------------------------------------BONJOUR ET MERCI-----------------------------------------------------------
kubuntu 64 12.04 et Linux-Mint Maya 64 (MATE)
Bureau Animer Dreamnux : http://forum.ubuntu-fr.org/viewtopic.php?id=325865
Bureau Animer kreamnux : http://forum.kubuntu-fr.org/viewtopic.php?pid=8916691

Hors ligne