Sei mai stato nella situazione dove è necessario aprire un'applicazione, ma si desidera solo per aprire questa particolare applicazione, se è collegato un dispositivo specifico? Per esempio, quando c'è un link simbolico a una vasta libreria di dipendente su un'unità esterna. O l'interfaccia audio deve essere collegato prima di aprire il DAW.
L'esecuzione di tali applicazioni senza rispetto di questi requisiti può rovinare le impostazioni e potrebbe essere necessario regolare manualmente le preferenze, i percorsi, fare le pulizie, ecc. Alla fine i dati possono ottenere persi o sovrascritti.
È troppo facile dimenticare che un dispositivo non è connesso. Questo può essere abbastanza fastidioso ed è controproducente per un flusso di lavoro creativo: un'idea viene in mente e si desidera iniziare immediatamente a lavorare su di esso, ma poi sei distratta fissando il disordine causato da non avere il corretto dispositivo collegato prima di aprire il software.
Mio caso particolare
Quando ho dimenticato di collegare l'interfaccia audio prima di lanciare Logic Pro X sta per utilizzare il driver audio di sistema per impostazione predefinita. Quindi devo manualmente modificare le impostazioni e assicurarsi che alcune cose non sono alterate come la frequenza di campionamento, tra le altre.
Un altro caso è quando apro il software di editing video o photo senza un disco esterno collegato dove é memorizzata la libreria. Quindi verrà creata una nuova libreria generica.
Prerequisiti
Con il comando seguente è possibile di elencare tutte le periferiche USB. Questo è il primo passo per trovare l'interfaccia audio.
# List all USB Devices
❯ ioreg -p IOUSB -w0 | sed 's/[^o]*o //; s/@.*$//' | grep -v '^Root.*'
Apple Internal Keyboard / Trackpad
BRCM20702 Hub
Bluetooth USB Host Controller
Duet USB
Quindi possiamo isolare l'interfaccia audio.
# Grep Duet USB Device
❯ ioreg -p IOUSB -w0 | sed 's/[^o]*o //; s/@.*$//' | grep -v '^Root.*' | grep "Duet USB"
Duet USB
Il seguente comando aiuta a identificare se è montato un volume denominato DATA
.
# List external Disk
❯ mount | grep /Volumes/DATA
/Volumes/DATA
Con queste informazioni possiamo scrivere una funzione e impostare un flusso di lavoro automatico che soddisfa i nostri requisiti.
Funzione
Si può mettere questo nel .zshrc
/.bashrc
/ecc.
# Music workflow
music () {
RED='\033[0;31m'
NC='\033[0m' # No color
if ioreg -p IOUSB -w0 | sed 's/[^o]*o //; s/@.*$//' | grep -v '^Root.*' | grep "Duet USB" > /dev/null && mount | grep /Volumes/DATA > /dev/null; then
open /System/Library/PreferencePanes/Sound.prefPane
open ~/Music/Sheet\ Music/;
open /Applications/Logic\ Pro\ X.app/;
open /Applications/Apogee\ Maestro\ 2.app/;
else
echo "Both ${RED}`DATA`${NC} and ${RED}`Duet USB`${NC} must be connected to proceed"
fi
}
Descrizione
La funzione music
controlla se sia Duet USB
che /Volumes/Data
sono collegati. O esce per False
o procede ad aprire il flusso di lavoro.
L'uscita per non soddisfare i requisiti è:
❯ music
Both `DATA` and `Duet USB` must be connected to proceed.
Personalizzare secondo le necessità. Le variabili possono essere: Duet USB
, /Volumes/DATA
, paths
Configurazione
- OS X 10.11 El Capitan
- ZSH con
.zshrc
- Interfaccia audio USB
- Disco esterno