Notizia:
  • Rilasciata Precise Pangolin 12.04. Per ottenerla, visitate questa pagina, oppure provate il tour dal vivo con un browser web moderno.
  • Nuovo forum di Ubuntu-it, l'annuncio. È consigliato aggiornare il proprio profilo e controllare la sezione Gruppo Forum per problemi noti.
  • Rilasciata la versione italiana di Precise Pangolin 12.04. Per maggiori informazioni, consultare questa discussione.
  • Il vincitore del Concorso desktop del mese di aprile è Jerico. L'elenco dei precedenti vincitori è qui.
  • È uscito il numero 17 della Newsletter italiana di Ubuntu. Lo trovate a questo indirizzo.
  • È uscito il numero 59 di Full Circle Magazine in italiano. Lo trovate a questo indirizzo.

[Guida] Interagire con Amarok 2 tramite script/lanciatori (per le dock)

Personalizzazione grafica del sistema: icone, temi, sfondi, suoni, ecc.

[Guida] Interagire con Amarok 2 tramite script/lanciatori (per le dock)

Messaggioda The Wise Dj » venerdì 12 marzo 2010, 23:08

Ciao a tutti,
questa è una semplice e banale guida su come poter interagire rapidamente con Amarok 2 via script e/o lanciatori (volendo anche da terminale perché no).

La necessità si potrebbe avere per motivi di programmazione, se si vuole creare uno script di gestione di amarok 2, o per motivi pratici, se si vuole creare una dock apposita per il player senza bisogno di scomodarsi ad aprire la finestra.

Ecco un esempio:

Immagine

Il primo pulsante che si vede serve ad aprire / chiudere amarok, se chiuso / aperto.
E' uno script, che metterete dove più vi aggrada, supponiamo in /home/user/ e il nome dello script FILE.SH, per avviare lo script via lanciatore scegliamo come comando:

Codice: Seleziona tutto
bash /home/user/FILE.SH


Il contenuto dello script è il seguente:

Codice: Seleziona tutto
#!/bin/bash

if [ "$(ps axsf | grep "amarok" | grep -v "grep" | grep -v "$HOME")" ]; then # Amarok è in esecuzione
   qdbus org.kde.amarok /amarok/MainWindow com.trolltech.Qt.QWidget.close # Segnale di chiusura
else # Amarok non è in esecuzione
   amarok # Avvio
fi


Il primo comando elenca i processi attivi e cerca se è presente un processo di nome amarok ( gli ultimi due grep servono ad eliminare dall'elenco l'esecuzione del comando di ricerca stesso, che viene riconosciuto come processo di amarok, e l'eventuale gnome multimedia keys, anch'esso di intralcio)

Il segnale di chiusura utilizza una "funzione" di amarok, molto meglio che una chiusura selvaggia con "killall amarok".

Volendo è possibile modificare quello script perché mostri/nasconda amarok, con qualche accorgimento del tipo salvare lo stato corrente in un file temporaneo o simili.

I comandi per mostrare, nascondere l'interfaccia sono:

Codice: Seleziona tutto
qdbus org.kde.amarok /amarok/MainWindow com.trolltech.Qt.QWidget.hide # Nascondi
qdbus org.kde.amarok /amarok/MainWindow com.trolltech.Qt.QWidget.show # Mostra


Volendo sono possibili altri controlli sulla finestra principale, basta scrivere su un terminale:

Codice: Seleziona tutto
qdbus org.kde.amarok /amarok/MainWindow
e premere tab per leggere le possibilità (ce ne sono parecchie).

Passiamo ora alla parte della riproduzione, che può interessare maggiormente chi volesse creare uno script o una dock:
Il codice da mettere prima di questi "spezzoni" è:

Codice: Seleziona tutto
qdbus org.kde.amarok /Player


Codice: Seleziona tutto
org.freedesktop.MediaPlayer.Backward N # Fa tornare indietro la canzone di N millisecondi (N = 1000 => 1 secondo)
org.freedesktop.MediaPlayer.Forward N # Fa andare avanti la canzone di N millisecondi
org.freedesktop.MediaPlayer.GetMetadata # Restituisce le informazioni sulla traccia in riproduzione


L'ultimo comando genera un output del genere:

Codice: Seleziona tutto
album: Album
artist: Artista
arturl: Url dell'artista
audio-bitrate: Bitrate
audio-samplerate: Samplerate
comment: Commenti
genre: Genere
location: file:///percorso/Canzone.mp3
mtime: Durata in millisecondi
rating: Valutazione (un intero)
time: Durata in secondi
title: Titolo
tracknumber: Numero della traccia
year: 2001


Altri controlli:

Codice: Seleziona tutto
org.freedesktop.MediaPlayer.Mute # Muto
org.freedesktop.MediaPlayer.Next # Traccia successiva
org.freedesktop.MediaPlayer.Pause # Pausa
org.freedesktop.MediaPlayer.Play # Riproduci
org.freedesktop.MediaPlayer.PlayPause # Riproduci se in pausa e pausa se in riproduzione
org.freedesktop.MediaPlayer.PositionGet # Tempo attuale in ascolto (in millisecondi)
org.freedesktop.MediaPlayer.PositionSet # Imposta il tempo a cui si vuole saltare (in millisecondi)
org.freedesktop.MediaPlayer.Prev # Traccia precedente
org.freedesktop.MediaPlayer.Repeat # Ripeti
org.freedesktop.MediaPlayer.ShowOSD # Mostra l'OSD con le informazioni sulla traccia corrente
org.freedesktop.MediaPlayer.Stop # Ferma la riproduzione
org.freedesktop.MediaPlayer.StopAfterCurrent # Ferma la riproduzione dopo la fine della traccia corrente
org.freedesktop.MediaPlayer.VolumeDown N # Abbassa il volume di N unità (accetta interi e il valore di N va da 0 a 100)
org.freedesktop.MediaPlayer.VolumeGet # Leggi il valore del volume attuale (0 - 100)
org.freedesktop.MediaPlayer.VolumeSet N # Imposta il valore del volume desiderato (N da 0 a 100)
org.freedesktop.MediaPlayer.VolumeUp N # Alza il volume di N unità


Enjoy ;)
Ultima modifica di The Wise Dj il lunedì 22 marzo 2010, 17:41, modificato 1 volta in totale.
The Wise Dj
 

Re: [Guida] Interagire con Amarok 2 tramite script/lanciatori (per le dock)

Messaggioda giancajenky » giovedì 28 ottobre 2010, 10:48

ciao, purtroppo non me ne intendo molto di scripts :( come deve essere strutturato lo script per avere tutte quelle funzioni dell'immagine che hai messo? ovvere come devo inserire tutti quei "codici"? scusami, sono proprio ignorante in materia!!
giancajenky
Prode Principiante
 
Messaggi: 6
Iscrizione: ottobre 2010

Re: [Guida] Interagire con Amarok 2 tramite script/lanciatori (per le dock)

Messaggioda The Wise Dj » giovedì 28 ottobre 2010, 14:27

Ciao ;)

Crei un lanciatore e nelle proprietà basta che metti come comando uno tra quelli che ti interessano, solitamente tale campo è dopo quello del nome.
The Wise Dj
 

Re: [Guida] Interagire con Amarok 2 tramite script/lanciatori (per le dock)

Messaggioda giancajenky » giovedì 28 ottobre 2010, 20:22

grazie mille, ho fatto la mia dockbar perfettamente funzionante! (good) senza di te non ci sarei mai arrivato  ;D ciao ciao
giancajenky
Prode Principiante
 
Messaggi: 6
Iscrizione: ottobre 2010

Re: [Guida] Interagire con Amarok 2 tramite script/lanciatori (per le dock)

Messaggioda The Wise Dj » giovedì 28 ottobre 2010, 20:24

giancajenky ha scritto:grazie mille, ho fatto la mia dockbar perfettamente funzionante! (good) senza di te non ci sarei mai arrivato  ;D ciao ciao


De nada  ;D
The Wise Dj
 

Re: [Guida] Interagire con Amarok 2 tramite script/lanciatori (per le dock)

Messaggioda giancajenky » venerdì 29 ottobre 2010, 9:09

ultima cosa,mi ero dimenticato! cosa intendi per:

Volendo è possibile modificare quello script perché mostri/nasconda amarok, con qualche accorgimento del tipo salvare lo stato corrente in un file temporaneo o simili.


In pratica, che devo fare? perchè solo con il lanciatore non va!
e anche quello delle info traccia non mi va, non mi mostra nessuna finestra. con le infos  >:(


org.freedesktop.MediaPlayer.GetMetadata # Restituisce le informazioni sulla traccia in riproduzione

L'ultimo comando genera un output del genere:

album: Album
artist: Artista
arturl: Url dell'artista
audio-bitrate: Bitrate
audio-samplerate: Samplerate
comment: Commenti
genre: Genere
location: file:///percorso/Canzone.mp3
mtime: Durata in millisecondi
rating: Valutazione (un intero)
time: Durata in secondi
title: Titolo
tracknumber: Numero della traccia
year: 2001


Grazie del supporto:)
giancajenky
Prode Principiante
 
Messaggi: 6
Iscrizione: ottobre 2010

Re: [Guida] Interagire con Amarok 2 tramite script/lanciatori (per le dock)

Messaggioda The Wise Dj » venerdì 29 ottobre 2010, 12:03

In quel caso i comandi sono 'più complessi' perché in pratica dovresti richiamare uno script vero e proprio che ti faccia qualche cosa.

Il comando delle info ne è un esempio  ;D

Se dai quei comandi da terminale ottieni tutto, se vuoi fare una prova visuale il comando ha un'aggiunta in fondo:
Codice: Seleziona tutto
COMANDO | zenity --text-info
The Wise Dj
 

Re: [Guida] Interagire con Amarok 2 tramite script/lanciatori (per le dock)

Messaggioda giancajenky » sabato 30 ottobre 2010, 16:44

ok, va bene così allora! grazie ancora  :)
giancajenky
Prode Principiante
 
Messaggi: 6
Iscrizione: ottobre 2010


Torna a Personalizzazione dell'ambiente desktop

Chi c’è in linea

Visualizzano questa pagina: Nessuno e 6 ospiti