Idea: avviare automaticamente Squeezelite(-R2) con udev.

Visualizzazione dei risultati da 1 a 2 su 2

Hybrid View

Messaggio precedente Messaggio precedente   Prossimo messaggio Prossimo messaggio
  1. #1
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito Idea: avviare automaticamente Squeezelite(-R2) con udev.

    Pensando a come gestire al meglio un setup in cui ci sono / ci possono essere più dispositivi di uscita diversi e quindi è necessario avere più istanze diverse di Squeezeliye(-R2), mi è venuta un'idea... che è l'uovo di Colombo.


    L'idea è semplicissima, comodissima e può risolvere un mucchio di problemi diversi: in sostanza... il "Plug&Play"! Non so perché non mi sia venuto in mente prima.

    In pratica, anziché far avviare una istanza di R2 all'avvio (come un servizio "statico"), si tratterebbe di utilizzare udev per avviare automaticamente una istanza di squeezelite nel momento in cui il sistema identifica la presenza di un dato dispositivo di uscita audio.

    Devo ancora elaborare i dettagli ma, per sommi capi, potrebbe funzionare grosso modo così:

    udev permette di definire delle "regole" che associano una azione (ad es. l'esecuzione di uno script) ad un dato "evento", quale tipicamente il rilevamento da parte del sistema di un dato dispositivo.

    Si potrebbe quindi creare una lista di dispositivi (anche "tutte" le interfacce audio conosciute e supportate), ed a ciascuno di questi associare una azione (che, direttamente o indirettamente, avvia una istanza di squeezelite-R2 con le opzioni adatte a quel dispositivo).

    Volendo, si può anche fare in modo che tale istanza di squeezelite venga fermata (eliminata) automaticamente nel momento in cui la relativa interfaccia audio dovesse essere spenta/scollegata dal sistema.

    In questo modo si potrebbe creare un sistema "preconfezionato" che, con tutti i dispositivi supportati (ed inclusi nell'elenco delle regole di udev) funziona in modo completamente automatico, senza bisogno di alcun intervento né configurazione da parte dell'utente.

    Un altro dei tanti vantaggi è che un setup del genere permette di gestire "n" diverse interfacce, anche contemporaneamente (con "n" diverse istanze di R2) in modo del tutto "naturale" ed automatico, senza alcuna ulteriore complicazione.

    Se poi Marco fosse interessato, una futura versione di "Falcon" potrebbe essere riadattata per installare e gestire una configurazione di questo genere in modo da fornire una comoda interfaccia per aggiungere, aggiornare, modificare o eventualmente eliminare le "regole" di udev (definizioni delle interfacce), i corrispondenti set di opzioni di Squeezelite(-R2), ecc...


    Pro-memoria:

    https://www.linux.com/news/udev-intr...n-linux-system

    http://alsa.opensrc.org/Udev

    https://duckduckgo.com/?t=lm&q=udev+rule+start+process

    https://unix.stackexchange.com/quest...v-event#110476

    https://unix.stackexchange.com/quest...in/28711#28711
    Ultima modifica di UnixMan : 07-05-2017 a 20:53
    Ciao, Paolo.

    «Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»

  2. #2
    pebibyte L'avatar di marcoc1712
    Registrato
    Jan 2013
    Messaggi
    5,254
    configurazione

    Predefinito

    Originariamente inviato da UnixMan
    Pensando a come gestire al meglio un setup in cui ci sono / ci possono essere più dispositivi di uscita diversi e quindi è necessario avere più istanze diverse di Squeezeliye(-R2), mi è venuta un'idea... che è l'uovo di Colombo.


    L'idea è semplicissima, comodissima e può risolvere un mucchio di problemi diversi: in sostanza... il "Plug&Play"! Non so perché non mi sia venuto in mente prima.

    In pratica, anziché far avviare una istanza di R2 all'avvio (come un servizio "statico"), si tratterebbe di utilizzare udev per avviare automaticamente una istanza di squeezelite nel momento in cui il sistema identifica la presenza di un dato dispositivo di uscita audio.

    Devo ancora elaborare i dettagli ma, per sommi capi, potrebbe funzionare grosso modo così:

    udev permette di definire delle "regole" che associano una azione (ad es. l'esecuzione di uno script) ad un dato "evento", quale tipicamente il rilevamento da parte del sistema di un dato dispositivo.

    Si potrebbe quindi creare una lista di dispositivi (anche "tutte" le interfacce audio conosciute e supportate), ed a ciascuno di questi associare una azione (che, direttamente o indirettamente, avvia una istanza di squeezelite-R2 con le opzioni adatte a quel dispositivo).

    Volendo, si può anche fare in modo che tale istanza di squeezelite venga fermata (eliminata) automaticamente nel momento in cui la relativa interfaccia audio dovesse essere spenta/scollegata dal sistema.

    In questo modo si potrebbe creare un sistema "preconfezionato" che, con tutti i dispositivi supportati (ed inclusi nell'elenco delle regole di udev) funziona in modo completamente automatico, senza bisogno di alcun intervento né configurazione da parte dell'utente.

    Un altro dei tanti vantaggi è che un setup del genere permette di gestire "n" diverse interfacce, anche contemporaneamente (con "n" diverse istanze di R2) in modo del tutto "naturale" ed automatico, senza alcuna ulteriore complicazione.

    Se poi Marco fosse interessato, una futura versione di "Falcon" potrebbe essere riadattata per installare e gestire una configurazione di questo genere in modo da fornire una comoda interfaccia per aggiungere, aggiornare, modificare o eventualmente eliminare le "regole" di udev (definizioni delle interfacce), i corrispondenti set di opzioni di Squeezelite(-R2), ecc...


    Pro-memoria:

    https://www.linux.com/news/udev-intr...n-linux-system

    https://duckduckgo.com/?t=lm&q=udev+rule+start+process

    https://unix.stackexchange.com/quest...v-event#110476

    https://unix.stackexchange.com/quest...in/28711#28711
    ottima idea, credo non compatibile con Falcon (a meno di non riscriverne completamente la part che scambia la configurazione con il file /etc/default). Una volta realizzata e funzionante vedremo se e come adattare falcon o qualcosa di diverso.
    Ciao, Marco.

    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
    — E. F. Schumacher (mis-attributed to A. Einstein)
    ________________________________________________________________________________
    Autore della patch R2 per Squeezelite e del plugin C-3PO. note libere
    Logitech media Server 7.9 > miniPc + squeezelite-R2 / SB+ > "Lu Scalmentu" NOS R2R DAC by TubeOne/ AudioResearch DAC 1-20 >
    Klimo Merlino Gold TPS > DIS Interconnect > Kent Gold > Reference > Monitor Audio Studio 20 SE

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Regole d'invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
nexthardware.com - © 2002-2022