17
« : 26.05.18 - klo:01.13 »
Perusongelmani on saada alsa/pulseaudio ja jack kuulumaan automaattisesti rinnakkain. Manuaalisesti pystyn ne asettamaan setupeissani, kun valitsen jack sinkin. (Katso kuvat!) Oletuksena eivät siis ole valittuina. Joskus aiemmin sain homman hoitumaan QJackCtl:n skripteissä, mutta ne eivät ole toimineet enää vuosikausiin, oletettavasti jonkin päivityksen rikkomana, mutten tiedä miksi. Pahimmillaan softan GUI jäätyy ja se pitää käynnistää uudestaan.
Pidemmällä tähtäimellä tavoitteenani olisi tehdä itse suoritettava skripti, joka hoitaisi automaattisesti mainitun reitityksen, käynnistäisi a2j MIDI-liitännän ja mahdollisesti muitakin musantekosoftiani samalla. Toisin kuin QJackCtl:ssä mahdollisten bugien ja rikkinäisyyksien debugaaminenkin olisi helpompaa, kun kaatuva GUI ei jätä oikein paljoa käteen.
Yksinkertaisimmillani käyttämäni skripti oli seuraavanlainen: pactl set-default-sink jack_out
Monimutkaisempi, jonka myös jostain netistä aikoinaan copypastesin joskus edellisen vaihtoehdoksi siitä paljoa ymmärtämättä oli: pactl load-module module-jack-sink client_name=pulse_sink_2 connect=yes pactl load-module module-jack-source client_name=pulse_source_2 connect=yes
Näiden perään lisäsin vielä: && a2jmidid -e
Päätteestä suoritettuna se toimii edelleen, kunhan Jack on jo päällä.
Jackin käynnistyksen jälkeinen reititys tuottaa kuitenkin edelleen ongelmia eikä tuo MIDI-skriptikään sen kautta toimivasti suoritu, joten ajattelin väsätä ihan oman skriptin, joka nämä asiat toivottavasti hoitaisi. Haluaisin kuitenkin tietää, millä komennolla tämän äänilaitevalinnan/reitityksen tekisin, että pääsisin alkuun.
EDIT: Nyt kun kokeilin, niin tuo ensimmäinen komento kyllä toimii jonkin ajan päästä erikseen komennettuna, kunhan Jack-käyttöliittymä on päässyt jo käyntiin. Tein oman skriptin, jossa haluamani asiat onnistuisivat, mutta haasteena on vielä toteuttaa jälkimmäiset komennot viiveellä sen jälkeen, kun Jack jo pyörii käynnistämisensä jälkeen.
Toisin sanoen, skriptin pitäisi jollain loopilla tms. tarkistaa, onko Jackin prosessi päällä ja suorittaa koko skripti loppuun, sitten kun se on päällä.