Hello all,
I am trying to step through the code of the MidiRecordingDemo
.
Firstly, I managed to get the DemoRunner
working using the instructions on the repo. When I run things through there, everything works fine, 100%, but I wanted to get things running in my own project using Projucer
.
To that end, I tried copying the relevant files into a new project. These are the files I copied over:
Components.cpp
Components.h
DemoRunner.h
Main.cpp
MidiRecordingDemo.h
PluginWindow.h
Utilities.h
I put all of them in a single directory, updated the #include
, and a few other minor changes to get things to compile, and configured my .jucer
like this
<?xml version="1.0" encoding="UTF-8"?>
<JUCERPROJECT id="F65dWy" name="Untitled" projectType="guiapp" useAppConfig="0"
addUsingNamespaceToJuceHeader="0" jucerFormatVersion="1" pluginCharacteristicsValue="pluginProducesMidiOut,pluginWantsMidiIn"
defines="JUCE_MODAL_LOOPS_PERMITTED=1" cppLanguageStandard="17"
displaySplashScreen="1">
<MAINGROUP id="L0hbSJ" name="Untitled">
<GROUP id="{40287891-65F2-379B-D7E6-D28D726EE4E9}" name="Source">
<FILE id="hJ37E3" name="Components.cpp" compile="1" resource="0" file="Source/Components.cpp"/>
<FILE id="KlnK4A" name="Components.h" compile="0" resource="0" file="Source/Components.h"/>
<FILE id="cy69Uy" name="DemoRunner.h" compile="0" resource="0" file="Source/DemoRunner.h"/>
<FILE id="enBLxW" name="MidiRecordingDemo.h" compile="0" resource="0"
file="Source/MidiRecordingDemo.h"/>
<FILE id="i5C3jG" name="PluginWindow.h" compile="0" resource="0" file="Source/PluginWindow.h"/>
<FILE id="rsSs3G" name="Utilities.h" compile="0" resource="0" file="Source/Utilities.h"/>
<FILE id="QdvzEI" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>
</GROUP>
</MAINGROUP>
<JUCEOPTIONS JUCE_STRICT_REFCOUNTEDPOINTER="1" TRACKTION_JUCE7="1" JUCE_PLUGINHOST_VST3="1"
JUCE_PLUGINHOST_AU="1" TRACKTION_ENABLE_TIMESTRETCH_SOUNDTOUCH="1"/>
<EXPORTFORMATS>
<XCODE_MAC targetFolder="Builds/MacOSX">
<CONFIGURATIONS>
<CONFIGURATION isDebug="1" name="Debug" targetName="Untitled"/>
<CONFIGURATION isDebug="0" name="Release" targetName="Untitled"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_audio_basics" path="tracktion_engine/modules/juce/modules"/>
<MODULEPATH id="juce_audio_devices" path="tracktion_engine/modules/juce/modules"/>
<MODULEPATH id="juce_audio_formats" path="tracktion_engine/modules/juce/modules"/>
<MODULEPATH id="juce_audio_processors" path="tracktion_engine/modules/juce/modules"/>
<MODULEPATH id="juce_audio_utils" path="tracktion_engine/modules/juce/modules"/>
<MODULEPATH id="juce_core" path="tracktion_engine/modules/juce"/>
<MODULEPATH id="juce_data_structures" path="tracktion_engine/modules/juce/modules"/>
<MODULEPATH id="juce_events" path="tracktion_engine/modules/juce/modules"/>
<MODULEPATH id="juce_graphics" path="tracktion_engine/modules/juce/modules"/>
<MODULEPATH id="juce_gui_basics" path="tracktion_engine/modules/juce/modules"/>
<MODULEPATH id="juce_gui_extra" path="tracktion_engine/modules/juce/modules"/>
<MODULEPATH id="tracktion_engine" path="tracktion_engine/modules"/>
<MODULEPATH id="juce_dsp" path="tracktion_engine/modules/juce/modules"/>
<MODULEPATH id="juce_osc" path="tracktion_engine/modules/juce/modules"/>
<MODULEPATH id="tracktion_graph" path="tracktion_engine/modules"/>
</MODULEPATHS>
</XCODE_MAC>
</EXPORTFORMATS>
<MODULES>
<MODULE id="juce_audio_basics" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_audio_devices" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_audio_formats" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_audio_processors" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_audio_utils" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_core" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_data_structures" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_dsp" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_events" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_graphics" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_gui_basics" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_gui_extra" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="juce_osc" showAllCode="1" useLocalCopy="0" useGlobalPath="1"/>
<MODULE id="tracktion_engine" showAllCode="1" useLocalCopy="0" useGlobalPath="0"/>
<MODULE id="tracktion_graph" showAllCode="1" useLocalCopy="0" useGlobalPath="0"/>
</MODULES>
</JUCERPROJECT>
Pretty much everything is running smoothly. I can add and remove tracks, plugins, clips, I can record MIDI, and save the edit. But I’m not getting any sound.
At first I wasn’t sure if the MIDI messages were making it into the plugin, so I loaded in an instance of Vital
. From what I can tell, it looks like the MIDI is coming through fine, and Vital
is outputting audio, but I’m not getting any output from the application.
So I’m pretty confused now… My best guess is that there is some flag or config that I am missing. I’m not very good with CMake
yet, so I am having trouble deciphering DemoRunner
’s CMakeList.txt
.
Could someone help me get this up and running?