Skip to content

Commit

Permalink
Merge pull request #688 from tjingboem/master
Browse files Browse the repository at this point in the history
Jacko opdates and realtime audio&midi pages updates
  • Loading branch information
tjingboem authored Nov 10, 2023
2 parents a199fc0 + d11de51 commit 946fa04
Show file tree
Hide file tree
Showing 24 changed files with 59 additions and 36 deletions.
1 change: 0 additions & 1 deletion examples/JackoAudioIn.csd
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ nchnls = 2
JackoInit "default", "csound"
JackoAudioInConnect "system:capture_1", "audioin" ; create 1 Audio input & connect from soundcard
JackoOn
instr 1 ; use Csound as an effect processor
asig JackoAudioIn "audioin"
Expand Down
1 change: 0 additions & 1 deletion examples/JackoAudioOut.csd
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ nchnls = 2
JackoInit "default", "csound"
JackoAudioOutConnect "audioout", "system:playback_4" ; create 1 Audio output & connect to soundcard
JackoOn
instr 1
asig vco2 .2, 100
Expand Down
1 change: 0 additions & 1 deletion examples/JackoFreewheel.csd
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ JackoAudioOutConnect "rightout", "system:playback_2"
JackoInfo
JackoFreewheel 1 ; Turning freewheeling on seems automatically to turn system playback off. This is good!
JackoOn
alwayson "jackin"
Expand Down
1 change: 0 additions & 1 deletion examples/JackoMidiInConnect.csd
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ nchnls = 2
JackoInit "default", "csound6" ; Csound as a Jack client
JackoMidiInConnect "UM-3:midi/playback_2", "midiinEDIROL" ; create 1 Midi in port
JackoOn
instr 1 ; get notes to the EDIROL Midi port
ifreq cpsmidi
Expand Down
1 change: 0 additions & 1 deletion examples/JackoMidiOut.csd
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ nchnls = 2
JackoInit "default", "csound6" ; Csound as a Jack client
JackoMidiOutConnect "midioutMAUDIO", "M-Audio-Delta-1010:midi/capture_1"
JackoOn ; turn Jacko system on
instr 1
Expand Down
1 change: 0 additions & 1 deletion examples/JackoNoteOut.csd
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ nchnls = 2
JackoInit "default", "csound6" ; Csound as a Jack client
JackoMidiOutConnect "midioutMAUDIO", "M-Audio-Delta-1010:midi/capture_1" ; create 1 Midi port
JackoMidiOutConnect "midioutEDIROL", "UM-3:midi/capture_1" ; create 2nd Midi port
JackoOn
instr 1 ; send notes to the M-Audio Midi port
Expand Down
3 changes: 1 addition & 2 deletions examples/JackoTransport.csd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<CsoundSynthesizer>
<CsOptions>
;-+rtaudio=JACK -o dac:system:playback_
-n
</CsOptions>
<CsInstruments>
sr = 48000
Expand All @@ -11,7 +11,6 @@ nchnls = 2
; by Menno Knevel - 2023
JackoInit "default", "csound6" ; Csound as a Jack client
JackoOn ; activate the Jacko system
instr 1 ; position & start external DAW
JackoTransport 3, 10 ; set playbackhead of DAW to zero in 10 seconds
Expand Down
4 changes: 1 addition & 3 deletions examples/jacko_extSynths.csd
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<CsoundSynthesizer>
<CsOptions>
-+rtaudio=jack -o dac -+rtmidi=null -Ma;
-o dac -+rtmidi=null -Ma;
</CsOptions>
<CsInstruments>
Expand All @@ -15,8 +15,6 @@ JackoInit "default", "csound6" ; Csound as a Jack client
JackoMidiInConnect "UM-3:midi/playback_2", "midiinEDIROL" ; create 1 Midi in port
JackoMidiOutConnect "midioutMAUDIO", "M-Audio-Delta-1010:midi/capture_1" ; create 1 Midi output port
JackoMidiOutConnect "midioutEDIROL", "UM-3:midi/capture_1" ; create 2nd Midi output port
JackoOn
instr 1 ; get notes from score AND from the EDIROL Midi port "midiinEDIROL"
Expand Down
4 changes: 3 additions & 1 deletion opcodes/JackoAudioIn.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,9 @@
output port to which ScsoundPortName is connected.
</para>
</refsect1>


<note>works with an already running Jack daemon. Do not use -+rtaudio=jack in CsOptions</note>

<refsect1>
<title>Examples</title>
<para>
Expand Down
2 changes: 2 additions & 0 deletions opcodes/JackoAudioInConnect.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@
</para>
</refsect1>

<note>works with an already running Jack daemon. Do not use -+rtaudio=jack in CsOptions</note>

<refsect1>
<title>Examples</title>
<para>
Expand Down
2 changes: 2 additions & 0 deletions opcodes/JackoAudioOut.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@
</para>
</refsect1>

<note>works with an already running Jack daemon. Do not use -+rtaudio=jack in CsOptions</note>

<refsect1>
<title>Examples</title>
<para>
Expand Down
4 changes: 3 additions & 1 deletion opcodes/JackoAudioOutConnect.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,9 @@
opcode.
</para>
</refsect1>


<note>works with an already running Jack daemon. Do not use -+rtaudio=jack in CsOptions</note>

<refsect1>
<title>Examples</title>
<para>
Expand Down
4 changes: 3 additions & 1 deletion opcodes/JackoFreewheel.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,9 @@
<emphasis>ienabled</emphasis> -- Turns freewheeling on (the default) or off.
</para>
</refsect1>


<note>works with an already running Jack daemon. Do not use -+rtaudio=jack in CsOptions</note>

<refsect1>
<title>Examples</title>
<para>
Expand Down
2 changes: 2 additions & 0 deletions opcodes/JackoInfo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@
</para>
</refsect1>

<note>works with an already running Jack daemon. Do not use -+rtaudio=jack in CsOptions</note>

<refsect1>
<title>Examples</title>
<para>
Expand Down
2 changes: 2 additions & 0 deletions opcodes/JackoInit.xml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@
</para>
</refsect1>

<note>works with an already running Jack daemon. Do not use -+rtaudio=jack in CsOptions</note>

<refsect1>
<title>Examples</title>
<para>
Expand Down
4 changes: 3 additions & 1 deletion opcodes/JackoMidiInConnect.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,9 @@
The granularity of timing is Csound's kperiod.
</para>
</refsect1>


<note>works with an already running Jack daemon. Do not use -+rtaudio=jack in CsOptions</note>

<refsect1>
<title>Examples</title>
<para>
Expand Down
4 changes: 3 additions & 1 deletion opcodes/JackoMidiOut.xml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,9 @@
The granularity of timing is Csound's kperiod.
</para>
</refsect1>


<note>works with an already running Jack daemon. Do not use -+rtaudio=jack in CsOptions</note>

<refsect1>
<title>Examples</title>
<para>
Expand Down
4 changes: 3 additions & 1 deletion opcodes/JackoMidiOutConnect.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,9 @@
or JackoNoteOut opcodes.
</para>
</refsect1>


<note>works with an already running Jack daemon. Do not use -+rtaudio=jack in CsOptions</note>

<refsect1>
<title>Examples</title>
<para>
Expand Down
2 changes: 2 additions & 0 deletions opcodes/JackoNoteOut.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@
</para>
</refsect1>

<note>works with an already running Jack daemon. Do not use -+rtaudio=jack in CsOptions</note>

<refsect1>
<title>Examples</title>
<para>
Expand Down
4 changes: 3 additions & 1 deletion opcodes/JackoTransport.xml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@
The granularity of timing is Csound's kperiod.
</para>
</refsect1>


<note>works with an already running Jack daemon. Do not use -+rtaudio=jack in CsOptions</note>

<refsect1>
<title>Examples</title>
<para>
Expand Down
24 changes: 10 additions & 14 deletions overview/realtimelinux.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@
similar but fundamentally different from that provided by JACK.
</para>

<bridgehead>Scheduling</bridgehead>
<para>If you are able to run Csound as the root user, using the "--sched"
<note>If you are able to run Csound as the root user, using the "--sched"
flag will dramatically improve realtime performance, when using ALSA,
however you may hang your system if you do something stupid. DO NOT
use "--sched" if you are using JACK for audio output. JACK controls
scheduling for the audio applications connected to it, and also tries
to run at the highest possible priority. If the "--sched" flag is
used, Csound and JACK will be competing rather than cooperating,
resulting in extremely poor performance. </para>
resulting in extremely poor performance.
</note>

<bridgehead>Using ALSA</bridgehead>
<para>
Expand All @@ -27,6 +27,7 @@
flag. Using <link linkend="IndexCatMinusSched"><citetitle>--sched</citetitle></link> requires that Csound be run as the root user, which may be impossible or undesirable in some
circumstances.
</para>

<para>
The ALSA plugins require the "name" of a "card" and a "device". Unless
you have named your "cards" in ~/.asoundrc (or /etc/asound.conf), the
Expand Down Expand Up @@ -196,18 +197,13 @@ pcm.!default {


<bridgehead>MIDI</bridgehead>
<para>2 Midi drivers are available:
<itemizedlist>
<listitem>
<simpara>Raw Midi.</simpara>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem>
<simpara>Alsa Sequencer (since version 5.18).</simpara>
</listitem>
</itemizedlist>
<para>3 Midi drivers are available: PortMidi, Raw Midi and Alsa Sequencer (since version 5.18).
</para>
<para>Csound will use PortMidi as the default MIDI module. With PortMIDI, DEVICE is either a number for single port input, 'a' for listening to all input ports, or 'm' for mapping ports to MIDI channels above 16. In this case, device 0 uses 1-16, device 1 uses 17-32, ... device N uses (N+1)*channel. The options 'a' and 'm' are also convenient when you don't have devices as they will not generate an error.
</para>
<screen>
-+rtmidi=PortMIDI -Ma -Q 1</screen>

<bridgehead>MIDI Input (Raw Midi driver)</bridgehead>
<para>In order to enable your orchestra to receive MIDI input you can use VirMIDI or MIDIThru, whichever you prefer. Setting up these
virtual MIDI ports is a topic that has been covered extensively
Expand Down
8 changes: 7 additions & 1 deletion overview/realtimemac.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,13 @@
To enable Real-time MIDI on OSX, you can use the <link linkend="FlagsCatMinusUpperM"><citetitle>-M</citetitle></link> flag for MIDI input and the <link linkend="FlagsCatMinusUpperQ"><citetitle>-Q</citetitle></link> flag for MIDI output. You might need to specify the device number after the flag (e.g. -M2), and again, you can find the available devices by giving an out of range number.
</para>
<para>
Csound will use PortMidi as the default MIDI module, but there's also a native coremidi module, which can be activated with the flag:
Csound will use PortMidi as the default MIDI module. With PortMIDI, DEVICE is either a number for single port input, 'a' for listening to all input ports, or 'm' for mapping ports to MIDI channels above 16. In this case, device 0 uses 1-16, device 1 uses 17-32, ... device N uses (N+1)*channel. The options 'a' and 'm' are also convenient when you don't have devices as they will not generate an error.
</para>
<screen>
-+rtmidi=PortMIDI -Ma -Q 1</screen>

<para>
There's also a native coremidi module, which can be activated with the flag:
</para>
<literallayout>
-+rtmidi=cmidi
Expand Down
10 changes: 8 additions & 2 deletions overview/realtimewindows.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,13 @@
To enable Real-time MIDI on Windows, you can use the <link linkend="FlagsCatMinusUpperM"><citetitle>-M</citetitle></link> flag for MIDI input and the <link linkend="FlagsCatMinusUpperM"><citetitle>-Q</citetitle></link> flag for MIDI output. You might need to specify the device number after the flag (e.g. -M2), and again, you can find the available devices by giving an out of range number.
</para>
<para>
Csound will use PortMidi as the default MIDI module, but there's also a native winmme module, which can be activated with the flag:
Csound will use PortMidi as the default MIDI module. With PortMIDI, DEVICE is either a number for single port input, 'a' for listening to all input ports, or 'm' for mapping ports to MIDI channels above 16. In this case, device 0 uses 1-16, device 1 uses 17-32, ... device N uses (N+1)*channel. The options 'a' and 'm' are also convenient when you don't have devices as they will not generate an error.
</para>
<screen>
-+rtmidi=PortMIDI -Ma -Q 1</screen>

<para>
There's also a native winmme module, which can be activated with the flag:
</para>
<literallayout>
-+rtmidi=winmme
Expand All @@ -31,4 +37,4 @@
-+rtmidi=winmme -M1 -Q1 -+rtaudio=portaudio -odac3 -iadc3
</literallayout>

</section>
</section>
2 changes: 1 addition & 1 deletion overview/using.xml
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ B 0.000 .. 2.000 T 2.000 TT 2.000 M: 10000.0 10000.0</programlisting>
only use powers of two for ksmps.
</para>
<para>
Some settings differ according to platform. See further below for information for each platform.
Some settings differ according to platform. See next pages for information for each platform.
</para>

<section id="UsingOptimizing">
Expand Down

0 comments on commit 946fa04

Please sign in to comment.