Skip to content

Commit edb6928

Browse files
committed
feat: add AudioLoader support and update README with new features
1 parent 69455d5 commit edb6928

File tree

5 files changed

+41
-9
lines changed

5 files changed

+41
-9
lines changed

README.rst

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ Rysyn - Professional DAW
22
========================
33

44
A **next-generation Digital Audio Workstation** combining:
5+
56
- **JUCE 8.x** (C++) for rock-solid audio engine & plugin hosting
67
- **egui 0.31** (Rust) for immediate-mode reactive UI
78
- **Rust FFI Bridge** for seamless realtime-safe interop
@@ -11,6 +12,7 @@ Quick Start
1112
===========
1213

1314
**Requirements:**
15+
1416
- Rust 1.70+
1517
- CMake 3.22+
1618
- JUCE 8.0.4 (auto-downloaded via CMake FetchContent)
@@ -251,18 +253,21 @@ Roadmap
251253
=======
252254

253255
**Phase 1 (MVP - Current)**
254-
- [x] Audio core + VST3 hosting
255-
- [x] Basic UI framework
256-
- [x] Command/state system
257-
- [ ] Audio playback (in progress)
256+
257+
- [done] Audio core + VST3 hosting
258+
- [done] Basic UI framework
259+
- [done] Command/state system
260+
- [WIP] Audio playback (in progress)
258261

259262
**Phase 2 (Beta)**
263+
260264
- Recording
261265
- MIDI sequencing
262266
- Clip editing
263267
- Project save/load
264268

265269
**Phase 3 (v1.0)**
270+
266271
- Complex time-stretching
267272
- Built-in effects suite
268273
- Advanced plugin routing

apps/juce_core/build/Makefile

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,30 @@ src/AudioCore.cpp.s:
199199
$(MAKE) $(MAKESILENT) -f CMakeFiles/rysyn_juce_core.dir/build.make CMakeFiles/rysyn_juce_core.dir/src/AudioCore.cpp.s
200200
.PHONY : src/AudioCore.cpp.s
201201

202+
src/AudioLoader.o: src/AudioLoader.cpp.o
203+
.PHONY : src/AudioLoader.o
204+
205+
# target to build an object file
206+
src/AudioLoader.cpp.o:
207+
$(MAKE) $(MAKESILENT) -f CMakeFiles/rysyn_juce_core.dir/build.make CMakeFiles/rysyn_juce_core.dir/src/AudioLoader.cpp.o
208+
.PHONY : src/AudioLoader.cpp.o
209+
210+
src/AudioLoader.i: src/AudioLoader.cpp.i
211+
.PHONY : src/AudioLoader.i
212+
213+
# target to preprocess a source file
214+
src/AudioLoader.cpp.i:
215+
$(MAKE) $(MAKESILENT) -f CMakeFiles/rysyn_juce_core.dir/build.make CMakeFiles/rysyn_juce_core.dir/src/AudioLoader.cpp.i
216+
.PHONY : src/AudioLoader.cpp.i
217+
218+
src/AudioLoader.s: src/AudioLoader.cpp.s
219+
.PHONY : src/AudioLoader.s
220+
221+
# target to generate assembly for a file
222+
src/AudioLoader.cpp.s:
223+
$(MAKE) $(MAKESILENT) -f CMakeFiles/rysyn_juce_core.dir/build.make CMakeFiles/rysyn_juce_core.dir/src/AudioLoader.cpp.s
224+
.PHONY : src/AudioLoader.cpp.s
225+
202226
src/PluginHost.o: src/PluginHost.cpp.o
203227
.PHONY : src/PluginHost.o
204228

@@ -623,6 +647,9 @@ help:
623647
@echo "... src/AudioCore.o"
624648
@echo "... src/AudioCore.i"
625649
@echo "... src/AudioCore.s"
650+
@echo "... src/AudioLoader.o"
651+
@echo "... src/AudioLoader.i"
652+
@echo "... src/AudioLoader.s"
626653
@echo "... src/PluginHost.o"
627654
@echo "... src/PluginHost.i"
628655
@echo "... src/PluginHost.s"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
EXECUTABLE_NAMERysyn Audio CoreVERSION0.1.0BUILD_VERSION0.1.0PLIST_TO_MERGEBUNDLE_IDcom.yourcompany.rysyn_juce_coreXCODE_EXTRA_PLIST_ENTRIESMICROPHONE_PERMISSION_ENABLEDMICROPHONE_PERMISSION_TEXTCAMERA_PERMISSION_ENABLEDCAMERA_PERMISSION_TEXTBLUETOOTH_PERMISSION_ENABLEDBLUETOOTH_PERMISSION_TEXTSEND_APPLE_EVENTS_PERMISSION_ENABLEDSEND_APPLE_EVENTS_PERMISSION_TEXTSHOULD_ADD_STORYBOARDTRUELAUNCH_STORYBOARD_FILE/usr/lib/cmake/juce/LaunchScreen.storyboardICON_FILEPROJECT_NAMERysyn Audio CoreCOMPANY_COPYRIGHTCOMPANY_NAMEyourcompanyDOCUMENT_EXTENSIONSFILE_SHARING_ENABLEDDOCUMENT_BROWSER_ENABLEDSTATUS_BAR_HIDDENREQUIRES_FULL_SCREENBACKGROUND_AUDIO_ENABLEDBACKGROUND_BLE_ENABLEDPUSH_NOTIFICATIONS_ENABLEDNETWORK_MULTICAST_ENABLEDPLUGIN_MANUFACTURER_CODEManuPLUGIN_CODEOjkxIPHONE_SCREEN_ORIENTATIONSUIInterfaceOrientationPortrait;UIInterfaceOrientationLandscapeLeft;UIInterfaceOrientationLandscapeRightIPAD_SCREEN_ORIENTATIONSUIInterfaceOrientationPortrait;UIInterfaceOrientationLandscapeLeft;UIInterfaceOrientationLandscapeRightPLUGIN_NAMERysyn Audio CorePLUGIN_MANUFACTURERyourcompanyPLUGIN_DESCRIPTIONRysyn Audio CorePLUGIN_AU_EXPORT_PREFIXRysyn_Audio_CoreAUPLUGIN_AU_MAIN_TYPE'aufx'IS_AU_SANDBOX_SAFEFALSEIS_PLUGIN_SYNTHFALSEIS_PLUGIN_ARA_EFFECTFALSESUPPRESS_AU_PLIST_RESOURCE_USAGEFALSEHARDENED_RUNTIME_ENABLEDFALSEAPP_SANDBOX_ENABLEDFALSEAPP_SANDBOX_INHERITFALSEHARDENED_RUNTIME_OPTIONSAPP_SANDBOX_OPTIONSAPP_SANDBOX_FILE_ACCESS_HOME_ROAPP_SANDBOX_FILE_ACCESS_HOME_RWAPP_SANDBOX_FILE_ACCESS_ABS_ROAPP_SANDBOX_FILE_ACCESS_ABS_RWAPP_SANDBOX_EXCEPTION_IOKITAPP_GROUPS_ENABLEDAPP_GROUP_IDSIS_PLUGINICLOUD_PERMISSIONS_ENABLEDIS_AU_PLUGIN_HOSTFALSEIS_IOS0
1+
EXECUTABLE_NAMERysyn Audio CoreVERSION0.1.0BUILD_VERSION0.1.0PLIST_TO_MERGEBUNDLE_IDcom.yourcompany.rysyn_juce_coreXCODE_EXTRA_PLIST_ENTRIESMICROPHONE_PERMISSION_ENABLEDMICROPHONE_PERMISSION_TEXTCAMERA_PERMISSION_ENABLEDCAMERA_PERMISSION_TEXTBLUETOOTH_PERMISSION_ENABLEDBLUETOOTH_PERMISSION_TEXTSEND_APPLE_EVENTS_PERMISSION_ENABLEDSEND_APPLE_EVENTS_PERMISSION_TEXTSHOULD_ADD_STORYBOARDTRUELAUNCH_STORYBOARD_FILE/usr/lib/cmake/juce/LaunchScreen.storyboardICON_FILEPROJECT_NAMERysyn Audio CoreCOMPANY_COPYRIGHTCOMPANY_NAMEyourcompanyDOCUMENT_EXTENSIONSFILE_SHARING_ENABLEDDOCUMENT_BROWSER_ENABLEDSTATUS_BAR_HIDDENREQUIRES_FULL_SCREENBACKGROUND_AUDIO_ENABLEDBACKGROUND_BLE_ENABLEDPUSH_NOTIFICATIONS_ENABLEDNETWORK_MULTICAST_ENABLEDPLUGIN_MANUFACTURER_CODEManuPLUGIN_CODEQwigIPHONE_SCREEN_ORIENTATIONSUIInterfaceOrientationPortrait;UIInterfaceOrientationLandscapeLeft;UIInterfaceOrientationLandscapeRightIPAD_SCREEN_ORIENTATIONSUIInterfaceOrientationPortrait;UIInterfaceOrientationLandscapeLeft;UIInterfaceOrientationLandscapeRightPLUGIN_NAMERysyn Audio CorePLUGIN_MANUFACTURERyourcompanyPLUGIN_DESCRIPTIONRysyn Audio CorePLUGIN_AU_EXPORT_PREFIXRysyn_Audio_CoreAUPLUGIN_AU_MAIN_TYPE'aufx'IS_AU_SANDBOX_SAFEFALSEIS_PLUGIN_SYNTHFALSEIS_PLUGIN_ARA_EFFECTFALSESUPPRESS_AU_PLIST_RESOURCE_USAGEFALSEHARDENED_RUNTIME_ENABLEDFALSEAPP_SANDBOX_ENABLEDFALSEAPP_SANDBOX_INHERITFALSEHARDENED_RUNTIME_OPTIONSAPP_SANDBOX_OPTIONSAPP_SANDBOX_FILE_ACCESS_HOME_ROAPP_SANDBOX_FILE_ACCESS_HOME_RWAPP_SANDBOX_FILE_ACCESS_ABS_ROAPP_SANDBOX_FILE_ACCESS_ABS_RWAPP_SANDBOX_EXCEPTION_IOKITAPP_GROUPS_ENABLEDAPP_GROUP_IDSIS_PLUGINICLOUD_PERMISSIONS_ENABLEDIS_AU_PLUGIN_HOSTFALSEIS_IOS0
21.5 KB
Binary file not shown.

apps/juce_core/src/AudioCore.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -294,10 +294,10 @@ void AudioCore::processCommands()
294294
if (result.isString()) {
295295
cmdName = result.toString();
296296
} else if (auto* obj = result.getDynamicObject()) {
297-
auto props = obj->getProperties();
298-
if (props.size() > 0) {
299-
cmdName = props[0].name.toString();
300-
params = props[0].value;
297+
for (auto& prop : obj->getProperties()) {
298+
cmdName = prop.name.toString();
299+
params = obj->getProperty(prop.name);
300+
break; // Only process first property as command
301301
}
302302
}
303303

0 commit comments

Comments
 (0)