Andrew Belt
b17f6ee3fe
Add fallback thread to Engine to step blocks if no primary module is set.
3 years ago
Andrew Belt
cb15bbeb1a
Communicate with Discord IPC to update activity status.
3 years ago
Andrew Belt
0a59d4aad3
Refactor logger. Require setting logger::logPath before initializing logger.
3 years ago
Andrew Belt
71423e0e94
Add string::formatTime/formatTimeISO().
3 years ago
Andrew Belt
0602d9cc96
Add edition name to TipWindow.
3 years ago
Andrew Belt
bf57176b7d
Log system time at launch.
3 years ago
Andrew Belt
64c86251ef
Null-terminate argvU8 array in wmain() wrapper.
3 years ago
Andrew Belt
bab462bb4b
Build standalone adapter directly from .cpp file instead of via .o
files. Add unicode wmain() wrapper for main() function on Windows.
3 years ago
Andrew Belt
c3ff43b6de
Rename *Dir() functions to *Directory(), backtracking on a previous commit.
3 years ago
Andrew Belt
a2904149c8
Rename window.hpp/cpp to Window.hpp/cpp since it's a class.
3 years ago
Andrew Belt
4c4fdb883c
Fix Mac build
3 years ago
Andrew Belt
00eb16189b
Use "directory/dir" terminology instead of "folder" except for UI text.
3 years ago
Andrew Belt
d0224944c8
Make random number generator an inline class which increases performance and supports `std::random` distributions.
3 years ago
Andrew Belt
a6edf06a14
Log app variant name.
3 years ago
Andrew Belt
de0cb6631b
Move standalone source to new adapters folder.
3 years ago
Andrew Belt
6fbc3d6292
Fix UTF8toUTF16 call.
3 years ago
Andrew Belt
f0deb51863
Move ui.hpp to ui/common.hpp.
3 years ago
Andrew Belt
e712c98020
Fix screenshot command -t not generating correct PNGs.
3 years ago
Andrew Belt
4450bd7ef1
Add default argument to settings::save() and load().
3 years ago
Andrew Belt
583530032f
Move asset::pluginsPath, templatePath, and settingsPath to appropriate namespaces.
3 years ago
Andrew Belt
30f814b7ae
Move asset::logPath to logger::path.
3 years ago
Andrew Belt
8eb58fde2b
Remove window reopen test. Add mutexes to logger init/destroy.
3 years ago
Andrew Belt
66cb723b63
Reorder initialization and destruction of submodules.
3 years ago
Andrew Belt
ad1d109845
Add ContextCreateEvent and ContextDestroyEvent.
3 years ago
Andrew Belt
c9cf25f66e
Merge event namespace into widget namespace. Event classes are now defined inside the Widget class.
3 years ago
Andrew Belt
f44ee3a15a
Remove "patchPath" from settings. Store path and unsaved status in patch itself. Fix bug where crash leaves old patch path in settings while new patch is loaded in autosave. Add more dialog messages to PatchManager.
3 years ago
Andrew Belt
0a76018aa8
Switch back to %lld for 64-bit integers. Windows supports them but still
gives a warning. Just ignore them for now.
3 years ago
Andrew Belt
2a1bbf4ae3
Rename system::getRuntime() to getTime().
3 years ago
Andrew Belt
c434b14447
Remove system::getTime() testing code.
3 years ago
Andrew Belt
7efd063392
Change timestamps from int64_t to double, and define epoch as when `system::init()` is called.
3 years ago
Andrew Belt
a77f47dc52
Clean up `library::` app updater a bit.
4 years ago
Andrew Belt
155ae4ead6
Rename `updater::` to `library::`. Move VCV Library synchronization code from `plugin::` to `library::`.
4 years ago
Andrew Belt
3bdf4bf06c
Take screenshot when patch is saved (Currently disabled).
4 years ago
Andrew Belt
8a50d39b7f
Make system::archiveFolder and unarchiveToFolder work on Windows with
Unicode. Rename UTF8toUTF16 to U8toU16 and switch back to std::wstring
instead of std::u16string.
4 years ago
Andrew Belt
53cf78eb72
Add rough code to load/save patch to new autosave directory.
4 years ago
Andrew Belt
dd0e670050
Fix wchar_t/char16_t distinction on Windows.
4 years ago
Andrew Belt
d7dfc0492a
Destroy plugins after destroying audio and MIDI drivers, because plugins that register their own audio/MIDI drivers need to be kept loaded when the drivers are destructed.
4 years ago
Andrew Belt
b0bde7453b
Remove Context::init(). Instead, initialize application manually in the standalone launcher.
4 years ago
Andrew Belt
dee649db0f
Break Rack into libRack shared library and lightweight standalone Rack executable.
4 years ago
Andrew Belt
529d87ee12
Remove contextInit() and contextDestroy() since they don't really make sense with multiple instances.
4 years ago
Andrew Belt
68a875bbca
Improve clarity and modularity of PatchManager methods.
4 years ago
Andrew Belt
866f684ce4
Move app::APP_*, ABI_*, and API_* variables to rack:: namespace.
4 years ago
Andrew Belt
af834d49ee
Replace fopen, remove, and rename on Windows with wrappers that call
wide-string equivalents.
4 years ago
Andrew Belt
3f83066966
Make global context a thread_local variable. Add contextSet().
4 years ago
Andrew Belt
ca9231e1b3
Rename App to Context and app.hpp to context.hpp. The APP macro is still valid.
4 years ago
Andrew Belt
538f5589c2
Make headless mode work somewhat.
4 years ago
Andrew Belt
b6a7b09e7a
Restructure audio namespace to mirror midi class structure. (untested)
5 years ago
Andrew Belt
a34b6ef16e
Remove Bridge audio/MIDI driver.
5 years ago
Andrew Belt
e4b6056ded
Massive WIP v2 overhaul:
- Add Engine::fromJson which can be called without the GUI at all.
- Make RackWidget::fromJson attach itself to existing Engine state. However, once attached, they own their Engine objects (Module, Cable).
- Remove Engine thread. Now Engine must be stepped by other threads, such as the audio thread. This is fantastic because there is no longer a mutex lock every audio buffer.
- Add concept of the "primary module", which is allowed to call Engine::step().
- Add many Module events.
5 years ago
Andrew Belt
a419381f71
Parse -p flag as if it's a valid flag, in order to ignore -psn_... nonsense with Mac app translocation.
5 years ago