project scaffolding

This commit is contained in:
2026-06-06 00:45:21 -05:00
parent 6fba54f9c0
commit 989fe385de
14 changed files with 26 additions and 2 deletions

View File

@@ -27,7 +27,7 @@ qt_add_executable(sonobulus
qt_add_qml_module(sonobulus qt_add_qml_module(sonobulus
URI sonobulus URI sonobulus
VERSION 1.0 VERSION 1.0
QML_FILES src/Main.qml QML_FILES ui/Main.qml
) )
target_link_libraries(sonobulus PRIVATE target_link_libraries(sonobulus PRIVATE
@@ -46,3 +46,6 @@ if (WIN32)
VERBATIM VERBATIM
) )
endif() endif()
# add_subdirectory(src)
# add_subdirectory(ui)

2
src/CMakeLists.txt Normal file
View File

@@ -0,0 +1,2 @@
# empty

View File

@@ -15,11 +15,12 @@ int main(int argc, char* argv[]) {
// attach backend gui components // attach backend gui components
qmlRegisterType<TimerComponent>("AppDemo", 1, 0, "TimerComponent"); qmlRegisterType<TimerComponent>("AppDemo", 1, 0, "TimerComponent");
// adds the TimerComponent type (exposed in qml as "TimerComponent") to the module named"AppDemo" (numbers mean version 1.0)
// load qml // load qml
//engine.loadFromModule("sonobulus", "Main"); //engine.loadFromModule("sonobulus", "Main");
//engine.load(QUrl("qrc:/Main.qml")); //engine.load(QUrl("qrc:/Main.qml"));
engine.load(QUrl::fromLocalFile("src/Main.qml")); // ugh engine.load(QUrl::fromLocalFile("ui/Main.qml")); // ugh
if(engine.rootObjects().isEmpty()) { if(engine.rootObjects().isEmpty()) {
std::cout << "engine is empty" << std::endl; std::cout << "engine is empty" << std::endl;

View File

@@ -0,0 +1,2 @@
#include "AudioEngine.hpp"

View File

@@ -0,0 +1,2 @@
// The audio engine handles the RtAudio implementation of outputing samples to audio. the audio callback fills a buffer of audio samples and submits it for playback

View File

@@ -0,0 +1,2 @@
#include "KeyboardController.hpp"

View File

@@ -0,0 +1,2 @@
// the keyboard controller acts as an instrument input device for creating note events from a computer keyboard

View File

@@ -0,0 +1,2 @@
#include "MidiController.hpp"

View File

@@ -0,0 +1,2 @@
// the midi controller handles interfacing a stream from a midi input device and processing them into note events for the synthesizer

2
src/synth/NoteQueue.cpp Normal file
View File

@@ -0,0 +1,2 @@
#include "NoteQueue.hpp"

2
src/synth/NoteQueue.hpp Normal file
View File

@@ -0,0 +1,2 @@
// the note queue is a wrapper for a FIFO array to which the midi/keyboard controller enters note events into and the synthesizer consumes from

2
ui/CMakeLists.txt Normal file
View File

@@ -0,0 +1,2 @@
# empty

0
ui/components/.gitkeep Normal file
View File