On Sat, 2011-01-08 at 13:45 +0100, Rolf Krüger wrote: > Hi All, > > > When producing a song, I always use several apps on UBS: > - qjackctl > - ardour (outs connected to jamin, not to my soundcards system out) > - Muse (for Midi) (routing the outputs to busses in ardour, the outs of > muse are never connected to my soundcards system out) > - Hydrogen (routing the outputs to busses in ardour, the outs of > hydrogen are never connected to my soundcards system out) > - jamin (connected to the master outs of ardour, set to bypass during > recording/mixing, only acive when mastering) > > Is there a way to automate/script the setup for a song so that all apps > are up and running, have loaded the appropriate data files and routed > correctly by running a single shell script? > I found out that I´m able to script jack and do the connections, but I > have no idea to have muse, hydrogen or jamin with the proper data files. > > > Thanx in advance > Rolf
Some scripts I used and a template: #!/bin/sh # sh start-session song_path=`pwd` song_name="a64" song_version="06-slide" song_date="Jun/04/2010" song_info=" \n############################ \n# Project: $song_name \n# Version: $song_version \n# $song_date Ralf Mardorf \n############################\n" if [ $USER = "root" ] ; then echo "\nOnly a user is allowed to run this script :)\n" else echo $song_info ### Killall apps="qtractor guitarix rakarrack jackd envy24control" echo "\nkillall -9 -w $apps" killall -9 -w $apps ### Restore session echo "\nRestoring session :)" sample_rate=96000 frames_period=512 echo "\njackd -Rdalsa -dhw:0 -r$sample_rate -p$frames_period -n2" #envy24control & sleep 2 jackd -Rdalsa -dhw:0 -r$sample_rate -p$frames_period -n2 & sleep 2 #rakarrack & sleep 4 #guitarix & sleep 2 qtractor "$song_path/qtr/$song_name-$song_version.qtr" & sleep 2 echo fi exit 0 #!/bin/sh # sh start-session song_path=`pwd` song_name="devoid_of_meaning" song_version="09" song_date="Feb/27/2010" song_info=" \n############################ \n# Project: $song_name \n# Version: $song_version \n# $song_date Ralf Mardorf \n############################\n" if [ $USER = "root" ] ; then echo "\nOnly a user is allowed to run this script :)\n" else echo $song_info ### CPU ferquency scaling echo "\nSetting up CPU frequency scaling for 64 Studio 3.0-beta3" cpufreq-selector -g performance if [ $? = 0 ] ; then echo "Done" ; fi ### Killall apps="jack_snapshot qtractor sr-2a jackd" echo "\nkillall -9 -w $apps" killall -9 -w $apps ### Restore session echo "\nRestoring session :)" sample_rate=96000 frames_period=512 echo "\njackd -Rdalsa -dhw:0 -r$sample_rate -p$frames_period -n2 -Xseq" jackd -Rdalsa -dhw:0 -r$sample_rate -p$frames_period -n2 -Xseq & sleep 2 sr-2a & sleep 2 qtractor "$song_path/qtr/$song_name-$song_version.qtr" & sleep 2 jack_snapshot restore "$song_path/$song_name-$song_version.jsnap" echo fi exit 0 #!/bin/sh # sh start-session song_path=`pwd` song_name="devoid_of_meaning" song_version="01.1-notuxguitar" song_date="Jan/13/2010" song_info=" \n########################### \n# Project: $song_name \n# Version: $song_version \n# $song_date Ralf Mardorf \n###########################\n" if [ $USER = "root" ] ; then echo "\nOnly a user is allowed to run this script :)\n" else echo $song_info ### CPU ferquency scaling echo "\nSetting up CPU frequency scaling for 64 Studio 3.0-beta3" cpufreq-selector -g performance if [ $? = 0 ] ; then echo "Done" ; fi ### Killall echo "\nkillall patchage a2jmidid qtractor tuxguitar qsynth phasex arpage sr-2a jackeq qjackctl jackd" killall patchage a2jmidid qtractor tuxguitar qsynth phasex arpage sr-2a jackeq qjackctl jackd ### Restore session echo "\nRestoring session :)" sample_rate=96000 frames_period=512 echo "\njackd -Rdalsa -dhw:0 -r$sample_rate -p$frames_period -n2 -Xseq" jackd -Rdalsa -dhw:0 -r$sample_rate -p$frames_period -n2 -Xseq & sleep 2 #qjackctl & sleep 4 #jackeq & sleep 2 #sr-2a & sleep 2 #arpage & sleep 2 #phasex & sleep 4 #qsynth & sleep 2 #tuxguitar "$song_path/$song_name-$song_version.tg" & sleep 8 qtractor "$song_path/qtr/$song_name-$song_version.qtr" & sleep 2 #a2jmidid & sleep 2 #patchage & sleep 2 echo fi exit 0 #!/bin/sh # sh start-session song_path="" song_name="" song_version="" song_date="Dec/27/2009" time=1 hpet_max_user_freq=64 song_info="\n ######################################################################\n # Project: $song_path$song_name$song_version\n # $song_date Ralf Mardorf\n # ralf.mardorf at alice-dsl dot net\n #\n # License for all artwork in the folder /$song_name:\n # Creative Commons\n # by-nc-sa = Attribution-NonCommercial- ShareAlike\n # http://creativecommons.org/licenses/by-nc-sa/3.0/\n # Namensnennung-NichtKommerziell-Weitergabe unter gleichen Bedingungen\n # http://creativecommons.org/licenses/by-nc-sa/3.0/de/\n ###################################################################### \n" if [ $USER = "root" ] ; then echo "\nOnly a user is allowed to run this script :)\n" else ############################################################################################ sudo chgrp audio /dev/hpet echo "\n/etc/sysctl.conf" echo -n "dev.hpet.max-user-freq = " cat /etc/sysctl.conf | grep dev.hpet.max-user-freq= echo "\n" echo -n "/proc/sys/dev/hpet/max-user-freq = " cat /proc/sys/dev/hpet/max-user-freq echo "\nMaking sure that the value is set to "$hpet_max_user_freq sudo sysctl -w dev.hpet.max-user-freq=$hpet_max_user_freq sudo modprobe snd-hrtimer echo echo -n "/proc/sys/dev/hpet/max-user-freq = " cat /proc/sys/dev/hpet/max-user-freq echo "\nSetting up CPU frequency scaling for 64 Studio." echo "On Suse as user run the alias \"cpu-p\" or as root run \"cpufreq-set -gperformance\"." sudo cpufreq-selector -g performance echo ############################################################################################ echo "\nRestoring session :)" echo $song_info #echo "jackd -Rch -dalsa -dhw:0 -r96000 -p512 -n2 -Xseq" #jackd -Rch -dalsa -dhw:0 -r96000 -p512 -n2 -Xseq & sleep $time echo "jackd -Rdalsa -dhw:0 -r96000 -p512 -n2 -Xseq" jackd -Rdalsa -dhw:0 -r96000 -p512 -n2 -Xseq & sleep $time #qtractor $song_path$song_name$song_version & sleep $time qjackctl & sleep $time a2jmidid & sleep $time patchage & sleep $time phasex & sleep $time Jc_Gui & sleep $time qtractor $song_path$song_name$song_version fi exit 0 -- Ubuntu-Studio-users mailing list Ubuntu-Studio-users@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-studio-users