If you'd like, though, download the application above and give it
a go. I've added the capability to save and restore patches, and I've
include four 'demo patches' with it:
showing how it operates.
- To create a connection, click on an "output" (SIG OUT, colored yellow-gold)
and drag the patch cord to an input (colored green) and release.
- To delete a connection, do the above in reverse (start with the
input, click and drag back to the output).
- Inputs are additive, including adding to whatever values may be
set on a module.
- Connecting the 'ping' inputs and outputs work the same way, but they are
a separate system. 'pings' are used as triggers to start, stop and
change state of various modules. NOTE: The 'ping' system needs
to be redone; results may vary!
- 'pings' can come from a different module (often the pinger module),
or can be set internally to a module by using the 'loop' button. The
looptime is settable.
- Be cognizant of the range of values expected by an input. For example,
the FREQ IN input for an oscillator expects frequency, so the the default
values (often 0.0 -- 1.0) from an output won't register much. A deviation
of an oscillator frequency by 0.5 Hz isn't all that noticeable.
- The ranges of various sliders and knobs can be set by the "lo" and "hi"
text boxes near the slider/knob.
- Be sure to hit RETURN after entering a value into a text box.
- The waveforms available on the wave slider for the oscillator
module are:
wave# 0 == sine
wave# 1 == saw
wave# 2 == square
wave# 3 == triangle
wave# 4 == pulse
- The envelope shapes available on the env module from the slider are:
shape# 0 == linear fade up/down
shape# 1 == linear ramp up
shape# 2 == linear ramp down
shape# 3 == exponential ramp up
shape# 4 == exponential ramp down
- The frequency values entered into each step of the seq module can be
absolute Hz, or they can be octave.pitchclass values (8.00 == middle
C, 8.01 == C# above middle C, 8.02 == D ... 8.12 == 9.00 == C above
middle C, etc. Values can be arbitrary, i.e. 8.02589 will be a slightly
sharp quarter tone above D).
- Typing 's' allows you to save the current patch into a text file.
- Typing 'r' allows you to load a previously saved patch.
- If the patching system gets messed up, hit the TAB key and it will reset
to the last made patch connection and recenter the interface.
- The screen can be resized, no zoom yet though. Clicking on the interface
and then dragging off-window will scroll the interface up/down/left/right.
- Double-click on the "beta0.app" icon to run the app.
You will notice a Terminal window that pops up when the app is
started. RTcmix runs in that window. If you close the app interface,
the window will persist and audio will still be happening. It's magic!
You will need to terminate the RTcmix window as well. I have a version
of the app that shuts everything down, but I kind of like running
the audio alone. The interface places a relatively substantial load
on the CPU, but the audio generally doesn't.
NOTE: If you have Catalina (OSX 10.15.x) or later,
Apple will probably complain that the app is "damaged"
(it isn't) and will try to move it to the trash (thanks, Apple!).
You might be able to CONTROL-click on the app and select "open", but
this may not be enabled for you. If you don't see that "open" option,
then double-click on the "dequarantine" command included in the folder
with the beta0-SA app (thanks Damon Holzborn!). It should then run
ok.
NOTE NOTE: I have noticed that the "dequaratine" command doesn't always
work. STUPID ANNOYING APPLE! If it doesn't, here's whatcha do:
1. start up a Terminal window (/Applications/Utilities/Terminal.app)
2. type in:
"sudo xattr -rd com.apple.quarantine "
without the quotes (and note the space at the end -- it has to be there)
3. Drag/Drop the "brads-vms-beta0/" folder into the Terminal window with
the "sudo ..." command typed in. The result should be a line in the
Terminal window that looks something like this:
sudo xattr -rd com.apple.quarantine /some/where/brads-vms-beta0
4. Hit <return>, give your password, and hopefully(!) all will be happy.
This was made using