Andrew Belt
bb8f70c04e
When loading a patch or autosave, if modules are unavailable, prompt user to close Rack and view them on the VCV Library.
1 year ago
Andrew Belt
a609a9b15e
Add `patch::Manager::clearAutosave()`. Clear autosave in safe mode.
2 years ago
Andrew Belt
6ef77b1b88
Add "Save a copy" to File menu.
2 years ago
Andrew Belt
b22f88b8aa
Rename INTERNAL to PRIVATE. Add PRIVATE to several functions/symbols that plugins should never call/use.
3 years ago
Andrew Belt
6d5a76788f
Adjust formatting of namespace docs.
3 years ago
Andrew Belt
df89de7847
Move Svg to window:: namespace.
3 years ago
Andrew Belt
9ac54241fb
Add patch:: namespace.
3 years ago
Andrew Belt
00eb16189b
Use "directory/dir" terminology instead of "folder" except for UI text.
3 years ago
Andrew Belt
bb9e9b78ce
Add pimpl Internal* struct to several classes that have a possibility of needing more member variables in 2.x.
3 years ago
Andrew Belt
583530032f
Move asset::pluginsPath, templatePath, and settingsPath to appropriate namespaces.
3 years ago
Andrew Belt
2966cd57f7
Move asset::autosavePath to Patch. Add Module::createPatchStorageDir() and remove asset::module().
3 years ago
Andrew Belt
ec14e18bec
Remove PatchManager::isLegacy().
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
9430ed8a65
Clean up autosave directory of removed modules when saving a patch and closing. Check for magic number of Zstandard format to find out whether a patch is legacy pre-v2.
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
120aafe6d3
Change order of includes to C++ standard headers, library headers, and local project headers.
4 years ago
Andrew Belt
68a875bbca
Improve clarity and modularity of PatchManager methods.
4 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
dca30e2b53
Auto-format code with astyle.
5 years ago
Andrew Belt
e6e7f33256
Add PatchManager::loadPathDialog() for dragging a file to the Rack window.
5 years ago
Andrew Belt
696939069d
Use <> instead of "" for include directive.
5 years ago
Andrew Belt
62214d106a
Convert settings namespace into class
5 years ago
Andrew Belt
e74da56005
Move patch loading from main() to PatchManager::init(). Load template.vcv if autosave.vcv does not exist. Create default template.vcv file.
5 years ago
Andrew Belt
8cc4cb3c2b
Add PatchManager. Clean up and refactor RackWidget and CableContainer.
5 years ago