Skip to content
bill auger edited this page May 25, 2020 · 3 revisions

How can I startup certain aspects of FW automatically each time?

This can be done, but it's actually not the variables that determine whether the app is in full screen, or the layout mode, etc. The variables are simply user defined values. To achieve the effect you're looking for, you have to use the variables to trigger system events such as 'video-full-screen'.

You can trigger all your startup calls in the 'startup' binding like so:

<!-- Sub 0: Startup - do startup stuff -->
<binding input="go-sub" conditions="sub=0"
         output1="video-show-loop"
         parameters1="layoutid=0 and
         loopid=VAR_pckeyfullrange VAR_loopid_pckeystart"
         output2="video-show-loop"
         parameters2="layoutid=1 and loopid=VAR_noterange VAR_loopid_pianostart"
         output3="video-show-loop"
         parameters3="layoutid=2 and loopid=VAR_dancematrange VAR_loopid_dancemat"
         output4="video-show-loop"
         parameters4="layoutid=3 and loopid=VAR_loopid_footswitch"
         output5="fluidsynth-enable"
         parameters5="enable=VAR_fluidsynth_enable"
         output6="set-auto-loop-saving"
         parameters6="save=VAR_auto_loop_save"
         output7="set-load-loop-id"
         parameters7="loopid=VAR_loopid_footswitch"
         output8="set-default-loop-placement"
         parameters8="looprange=VAR_loopid_default_range"/>

<!-- Startup -->
<binding input="start-freewheeling" conditions="VAR_mercurymode=1"
         output1="set-variable" parameters1="var=VAR_midi_footswitch and value=67"
         output2="set-variable" parameters2="var=VAR_laptopkeymode and value=1"
         output3="set-variable" parameters3="var=VAR_notechan and value=1"
         output4="set-variable" parameters4="var=VAR_noterange and value=48>59"
         output5="go-sub" parameters5="sub=0"/>
You can see that if VAR_mercurymode is 1, on startup a bunch of variables are set and subroutine 0 is called (output5="go-sub" at the bottom). Subroutine 0 is defined above, and causes different layouts to be selected and configured. You can simply remove the conditions="VAR_mercurymode=1" and add your own event triggers to the subroutine 0-- one for setting full screen, another to set your layout, etc.

Freewheeling won't start on my Wayland desktop

Wayland can not run freewheeling out-of-the-box on some systems. If you have this problem, ensure that 'xwayland' compatibility is installed, and start freewheeling like so:

$ SDL_VIDEODRIVER=x11 fweelin