JackoFreewheel — Turns Jack's freewheeling mode on or off.
Plugin opcode in jacko. This opcode is part of the plugin repository and has to be installed separately. The plugin repository can be found here: https://github.com/csound/plugins
Turns Jack's freewheeling mode on or off.
When freewheeling is on, if supported by the rest of the Jack system, Csound will run as fast as possible, which may be either faster or slower than real time.
This is essential for rendering scores that are too dense for real-time performance to a soundfile, without xruns or dropouts.
Note | |
---|---|
works with an already running Jack daemon. Do not use -+rtaudio=jack in CsOptions |
Here is an example of the JackoFreewheel opcode. It uses the file JackoFreewheel.csd.
Example 490. Example of the JackoFreewheel opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> csound -m255 -M0 -+rtmidi=null -RWf --midi-key=4 --midi-velocity=5 -o jacko_test.wav </CsOptions> <CsInstruments> ; NOTE: this csd must be run after starting the software synthesizer "aeolus -t". sr = 48000 ; The control rate must be BOTH a power of 2 (for Jack) ksmps = 128 nchnls = 2 0dbfs = 1 JackoInit "default", "csound" ; JackoMidiInConnect "alsa_pcm:in-131-0-Master", "midiin" JackoAudioInConnect "aeolus:out.L", "leftin" JackoAudioInConnect "aeolus:out.R", "rightin" JackoMidiOutConnect "midiout", "aeolus:Midi/in" ; Note that Jack enables audio to be output to a regular Csound soundfile and, at the same time, to a ; soundcard in real time to the system client via Jack. JackoAudioOutConnect "leftout", "system:playback_1" JackoAudioOutConnect "rightout", "system:playback_2" JackoInfo JackoFreewheel 1 ; Turning freewheeling on seems automatically to turn system playback off. This is good! alwayson "jackin" instr 1 ichannel = p1 - 1 itime = p2 iduration = p3 ikey = p4 ivelocity = p5 JackoNoteOut "midiout", ichannel, ikey, ivelocity print itime, iduration, ichannel, ikey, ivelocity endin instr jackin JackoTransport 3, 1.0 aleft JackoAudioIn "leftin" aright JackoAudioIn "rightin" ; Aeolus uses MIDI controller 98 to control stops. Only 1 data value byte is used, not the 2 data ; bytes often used with NRPNs. The format for control mode is ; 01mm0ggg: mm 10 to set stops, 0, ggg group (or Division, 0 based). ; The format for stop selection is 000bbbbb: bbbbb for button number (0 based). ; Mode to enable stops for Divison I: b1100010 (98) [this controller VALUE is a pure coincidence]). JackoMidiOut "midiout", 176, 0, 98, 98 ; Stops: Principal 8 (0), Principal 4 (1) , Flote 8 (8) , Flote 2 (10) JackoMidiOut "midiout", 176, 0, 98, 0 JackoMidiOut "midiout", 176, 0, 98, 1 JackoMidiOut "midiout", 176, 0, 98, 8 JackoMidiOut "midiout", 176, 0, 98, 10 ; Sends audio coming in from Aeolus out not only to the Jack system out (sound card), but also to the output soundfile. ; Note that in freewheeling mode, "leftout" and "rightout" simply go silent. JackoAudioOut "leftout", aleft JackoAudioOut "rightout", aright outs aright, aleft endin </CsInstruments> <CsScore> f 0 30 i 1 1 30 60 60 i 1 2 30 64 60 i 1 3 30 71 60 e 2 </CsScore> </CsoundSynthesizer>