Andrew Belt
dbe843447b
Remove useless line in PatchManager::saveDialog().
3 years ago
Andrew Belt
17416a7f5e
Don't set "path" patch property if the path is unset.
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
2a1bbf4ae3
Rename system::getRuntime() to getTime().
3 years ago
Andrew Belt
790e1053cc
Rename system::getTime() to getRuntime(). Add system::getUnixTime().
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
f3c8262183
Make Module always deserialize "id", "leftModuleId", and "rightModuleId". Due to this, make pasting and cloning modules delete these properties from the JSON before `fromJson()` is called.
4 years ago
Andrew Belt
06c6590b51
Implement Module::ExpanderChangeEvent event trigger.
4 years ago
Andrew Belt
14a1834348
Check for existence of module patch asset directory before iterating it in `Patch::cleanAutosave()`.
4 years ago
Andrew Belt
3bdf4bf06c
Take screenshot when patch is saved (Currently disabled).
4 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
232d2c10e5
Add `compressionLevel` argument to `system::archiveFolder()`.
4 years ago
Andrew Belt
8d908a0a55
Add system::join(). Add asset::module().
4 years ago
Andrew Belt
c862847394
Set compression level of system::archiveFolder() .tar.zst file.
4 years ago
Andrew Belt
3fbd0f77a9
Move string::absolute, directory, filename, filenameBase, and filenameExtension to system::getAbsolute, getDirectory, getFilename, getStem, and getExtension. Reimplement most system:: functions using std::experimental::filesystem. Add system::doesExist, getFileSize, and getTempDir.
4 years ago
Andrew Belt
df544700b9
Remove libzip, zlib. Remove string::compress() and uncompress(). Remove system::unzipToFolder().
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
0ded01c228
Add system::unarchiveToFolder() and archiveFolder(). Begin using `std::experimental::filesystem`.
4 years ago
Andrew Belt
53cf78eb72
Add rough code to load/save patch to new autosave directory.
4 years ago
Andrew Belt
fdf85301c7
Fix compile issue on Windows by simplifying how recent patches are
removed from settings.
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
1dcaf6c1bc
Fix some segfaults when destroying environment.
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
ca9231e1b3
Rename App to Context and app.hpp to context.hpp. The APP macro is still valid.
4 years ago
Andrew Belt
f4b54f74b7
Added "recentPatchPaths" to settings.json and a "Open recent" menu item.
4 years ago
Andrew Belt
538f5589c2
Make headless mode work somewhat.
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
e248cc8813
Disable crash warning dialog in dev mode.
5 years ago
Andrew Belt
dca30e2b53
Auto-format code with astyle.
5 years ago
Andrew Belt
f381e1227a
Add string::filename() before computing string::filenameExtension().
5 years ago
Andrew Belt
e6e7f33256
Add PatchManager::loadPathDialog() for dragging a file to the Rack window.
5 years ago
Andrew Belt
f260e482a9
Don't prompt when clearing the patch when it is already empty.
5 years ago
Andrew Belt
ca89558bb4
Use -v1 filename suffix for plugins/, settings.json, autosave.vcv, and template.vcv when running in non-dev-mode.
5 years ago
Andrew Belt
696939069d
Use <> instead of "" for include directive.
5 years ago
Andrew Belt
beefa87ef6
Add update notification to Help menu item. Remove update popup dialog message, and remove "checkVersion" from settings.
5 years ago
Andrew Belt
afd6d4bb8e
Clean up various headers.
5 years ago
Andrew Belt
e2c4dc8249
Remove old patch before moving new temporary patch to its location.
5 years ago
Andrew Belt
e92b9d0339
Save temporary patch file and rename it over desired patch.
5 years ago
Andrew Belt
3ddc40b8b5
Fix string::basename() bug on Mac (and possibly Windows). Rename string::basename to filenameBase, string::extension to filenameExtension.
5 years ago
Andrew Belt
87cab493f3
Add saved state to history::State. Ask for user confirmation in patch::resetDialog() and patch::loadDialog() if patch is unsaved.
5 years ago
Andrew Belt
2446756c54
Make settings a namespace instead of a global class.
5 years ago
Andrew Belt
df222e691b
Make Patch::reset load the system template
5 years ago
Andrew Belt
7e2d4a6bf9
Use larger canvas for RackScrollWidget.
5 years ago
Andrew Belt
2210287039
Move handling of RackWidget from Scene to RackScrollWidget.
5 years ago
Andrew Belt
b4be621ddc
Update MIDI-CV panel. Prepare MIDI-CV for polyphony. Add "v" to version strings.
5 years ago
Andrew Belt
62214d106a
Convert settings namespace into class
5 years ago
Andrew Belt
8a5a806425
Add app::, ui::, and widget:: namespaces.
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
6d86a8280c
Add convenience methods to Port. Draw blue plug lights for polyphonic ports.
5 years ago