I made a quick test patch with only core modules. When opened with a full rack window I get sound. when trying to run headless, it seemingly does nothing.
Log:
[0.003 info adapters/standalone.cpp:137 main] VCV Rack Free v2.0.0
[0.003 info adapters/standalone.cpp:138 main] Windows 10.0
[0.003 info adapters/standalone.cpp:144 main] Args: rack c:\Users\PeterS\Music\test.vcv
[0.003 info adapters/standalone.cpp:147 main] System directory: C:\Program Files\VCV\Rack2Free
[0.003 info adapters/standalone.cpp:148 main] User directory: C:/Users/PeterS/Documents/Rack2
[0.003 info adapters/standalone.cpp:152 main] System time:
[0.003 info src/settings.cpp:455 load] Loading settings C:/Users/PeterS/Documents/Rack2/settings.json
[0.005 info adapters/standalone.cpp:175 main] Initializing environment
[0.008 info src/rtaudio.cpp:254 RtAudioDriver] Creating RtAudio WASAPI driver
[0.025 info src/rtaudio.cpp:269 RtAudioDriver] Found RtAudio WASAPI device 0: Speakers (Steam Streaming Microphone) (0 in, 2 out)
[0.032 info src/rtaudio.cpp:269 RtAudioDriver] Found RtAudio WASAPI device 1: Speakers (Steam Streaming Speakers) (0 in, 2 out)
[0.038 info src/rtaudio.cpp:269 RtAudioDriver] Found RtAudio WASAPI device 2: Speakers (High Definition Audio Device) (0 in, 2 out)
[0.044 info src/rtaudio.cpp:269 RtAudioDriver] Found RtAudio WASAPI device 3: Microphone (Steam Streaming Microphone) (1 in, 0 out)
[0.050 info src/rtaudio.cpp:269 RtAudioDriver] Found RtAudio WASAPI device 4: Microphone (HD Webcam C310) (1 in, 0 out)
[0.050 info src/rtaudio.cpp:254 RtAudioDriver] Creating RtAudio ASIO driver
[0.054 info src/rtaudio.cpp:269 RtAudioDriver] Found RtAudio ASIO device 0: Soundcraft USB Audio ASIO (0 in, 0 out)
[0.054 info src/rtaudio.cpp:254 RtAudioDriver] Creating RtAudio DirectSound driver
[0.150 info src/rtaudio.cpp:269 RtAudioDriver] Found RtAudio DirectSound device 0: Default Device (2 in, 2 out)
[0.156 info src/rtaudio.cpp:269 RtAudioDriver] Found RtAudio DirectSound device 1: Speakers (High Definition Audio Device) (0 in, 2 out)
[0.163 info src/rtaudio.cpp:269 RtAudioDriver] Found RtAudio DirectSound device 2: Speakers (Steam Streaming Microphone) (0 in, 2 out)
[0.169 info src/rtaudio.cpp:269 RtAudioDriver] Found RtAudio DirectSound device 3: Speakers (Steam Streaming Speakers) (0 in, 2 out)
[0.170 info src/rtaudio.cpp:269 RtAudioDriver] Found RtAudio DirectSound device 4: Microphone (HD Webcam C310) (2 in, 0 out)
[0.170 info src/rtaudio.cpp:269 RtAudioDriver] Found RtAudio DirectSound device 5: Microphone (Steam Streaming Microphone) (2 in, 0 out)
[0.170 info src/plugin.cpp:118 loadPlugin] Loading Core plugin
[0.170 info src/plugin.cpp:178 loadPlugin] Loaded Core v2.0.0
[0.171 info src/plugin.cpp:120 loadPlugin] Loading plugin from C:/Users/PeterS/Documents/Rack2/plugins/Fundamental
[0.172 info src/plugin.cpp:178 loadPlugin] Loaded Fundamental v2.0.0
[0.173 info src/network.cpp:147 requestJson] Requesting JSON GET https://api.vcvrack.com/version?edition=Free
[0.210 info adapters/standalone.cpp:193 main] Initializing context
[0.211 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Free/res/ComponentLibrary/Rail.svg
[0.855 info src/window/Window.cpp:269 Window] Window content scale: 1.000000
[0.879 info src/window/Window.cpp:319 Window] Renderer: NVIDIA Corporation Quadro 600/PCIe/SSE2
[0.879 info src/window/Window.cpp:320 Window] OpenGL: 4.5.0 NVIDIA 353.62
[0.882 info src/window/Window.cpp:43 loadFile] Loaded font C:/Program Files/VCV/Rack2Free/res/fonts/DejaVuSans.ttf
[0.882 info src/patch.cpp:249 load] Loading patch c:\Users\PeterS\Music\test.vcv
[0.889 info src/patch.cpp:263 load] Unarchived patch in 0.002021 seconds
[0.889 info src/patch.cpp:316 loadAutosave] Loading autosave C:/Users/PeterS/Documents/Rack2/autosave/patch.json
[0.898 info src/rtaudio.cpp:54 RtAudioDevice] Creating RtAudio DirectSound context
[0.933 info src/rtaudio.cpp:122 openStream] Opening RtAudio DirectSound device 0: Default Device (2 in, 2 out, 48000 sample rate, 512 block size)
[1.004 info src/rtaudio.cpp:134 openStream] Starting RtAudio DirectSound device 0
[1.058 info src/rtaudio.cpp:144 openStream] Opened RtAudio DirectSound device 0
[1.060 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/PeterS/Documents/Rack2/plugins/Fundamental/res/VCF.svg
[1.060 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Free/res/ComponentLibrary/ScrewSilver.svg
[1.060 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Free/res/ComponentLibrary/RoundHugeBlackKnob.svg
[1.061 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Free/res/ComponentLibrary/RoundHugeBlackKnob_bg.svg
[1.061 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Free/res/ComponentLibrary/RoundLargeBlackKnob.svg
[1.061 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Free/res/ComponentLibrary/RoundLargeBlackKnob_bg.svg
[1.061 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Free/res/ComponentLibrary/Trimpot.svg
[1.061 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Free/res/ComponentLibrary/Trimpot_bg.svg
[1.062 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Free/res/ComponentLibrary/PJ301M.svg
[1.063 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/PeterS/Documents/Rack2/plugins/Fundamental/res/VCO.svg
[1.063 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Free/res/ComponentLibrary/VCVButton_0.svg
[1.063 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Free/res/ComponentLibrary/VCVButton_1.svg
[1.064 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Free/res/ComponentLibrary/SmallLight.svg
[1.065 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Users/PeterS/Documents/Rack2/plugins/Fundamental/res/LFO.svg
[1.066 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Free/res/Core/Audio2.svg
[1.067 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Free/res/ComponentLibrary/Plug.svg
[1.067 info src/window/Svg.cpp:28 loadFile] Loaded SVG C:/Program Files/VCV/Rack2Free/res/ComponentLibrary/PlugPort.svg
[1.068 info adapters/standalone.cpp:236 main] Running window
[1.085 info src/window/Window.cpp:43 loadFile] Loaded font C:/Program Files/VCV/Rack2Free/res/fonts/Nunito-Bold.ttf
[1.085 info src/window/Window.cpp:43 loadFile] Loaded font C:/Program Files/VCV/Rack2Free/res/fonts/ShareTechMono-Regular.ttf
[4.460 info adapters/standalone.cpp:238 main] Stopped window
[4.460 info adapters/standalone.cpp:249 main] Destroying context
[4.549 info src/patch.cpp:192 saveAutosave] Saving autosave C:/Users/PeterS/Documents/Rack2/autosave/patch.json
[4.554 info src/rtaudio.cpp:149 closeStream] Stopping RtAudio DirectSound device 0
[4.590 info src/rtaudio.cpp:158 closeStream] Closing RtAudio DirectSound device 0
[4.778 info src/rtaudio.cpp:167 closeStream] Closed RtAudio DirectSound device 0
[4.793 info src/settings.cpp:437 save] Saving settings C:/Users/PeterS/Documents/Rack2/settings.json
[4.794 info adapters/standalone.cpp:257 main] Destroying environment
[4.799 info adapters/standalone.cpp:268 main] Destroying logger
END
Command line and path: C:\Program Files\VCV\Rack2Free>rack -h “c:\Users\PeterS\Music\test.vcv”
If I do the same command line without the “-h” the patch loads up and sounds correct.
Is this idea dead? Or am I doing something wrong?
Headless mode works fine, but how to exit?
Ctrl-C
Ctrl-C doesn’t work on Windows.
Kill it from Task Manager
In general, a kill from the taskmanager works, but when I start the rack the next time (even in headless mode), this dialog screen appears:
I want to use headless mode in a hardware setup without a screen, so I need a way to terminate the rack correctly.
I’m thinking of a module that calls APP->window->close()
on a CV trigger, so I can send a MIDI event from a controller to terminate the rack.
Edit: when Rack is launched with the filename for a patch, a previous kill doesn’t result in the message-box above.
I think that’s a great idea, and simultaneously funny that a trigger could cause the whole process to die. You could call the module Kevorkian.
Oh yes, or simply Terminator
Only if it’s written in 6502 assembly language. Yes, the only language I used in my first few years as a programmer.
I started with System37 IBM mainframe assembler and then taught myself 65[c]02 variants of assembly. Very educational that was indeed
haha - someone paid me to learn how to do it, so educational and paid the rent!
Sadly I could never find anyone who might have wanted to pay me for that skill. Oh well.
so if you touch it by mistake your live gig ends
I got my start with 6502 machine language in ~1981 on my Apple II+. But, since I did not have an assembler, I had to do it all in a hex editor. I wrote an A.I. crossword puzzle solver. I can remember if I ever got an assembler for the Apple. For my program, I wrote a front-end in Basic that did the GUI and keyboard interaction and called the 6502 code as a subroutine (I think).
Projects like that are an excellent way to learn a new language or two by doing
Terminator— Ah, that reminds me of x86 assembly language TSRs (Terminate and Stay Resident).
When we do something and learn from it, we pay ourselves.