Andrew Belt
c3ff43b6de
Rename *Dir() functions to *Directory(), backtracking on a previous commit.
3 years ago
Andrew Belt
00eb16189b
Use "directory/dir" terminology instead of "folder" except for UI text.
3 years ago
Andrew Belt
f3827c82c7
Add major version checking to library plugin update check.
3 years ago
Andrew Belt
2b9efc1401
Add string::join(). Reorder models how they are ordered in plugin's manifest. Use list instead of vector for models and tags in plugin::Plugin/Model.
3 years ago
Andrew Belt
ed1842a743
Rename string::U8toU16 to UTF8toUTF16 and U16toU8 to UTF16toUTF8.
4 years ago
Andrew Belt
583530032f
Move asset::pluginsPath, templatePath, and settingsPath to appropriate namespaces.
4 years ago
Andrew Belt
7bec4bd93c
Destroy system and plugin subsystems properly so they can be re-initialized.
4 years ago
Andrew Belt
f627d1e729
Move libRack.dylib to Resources folder in Mac bundle. Use rpath for plugin build.
4 years ago
Andrew Belt
b584e5f506
Use @executable_path for libRack.dylib for plugins on Mac. This is a hack that will need to be changed to @rpath later.
4 years ago
Andrew Belt
c4cc1c4368
Clean up fromJson Engine and RackWidget methods. Fix v0.6 patch loading.
4 years ago
Andrew Belt
f5bad0e20f
Add hard-coded plugin/model slug fallbacks/aliases. Catch Exceptions from Module::fromJson().
4 years ago
Andrew Belt
86f3658b51
Add `Exception::Exception(const char* format, ...)` so you can create Exception objects using C format strings.
4 years ago
Andrew Belt
9c5a616eab
Change file extension of plugin packages to .vcvplugin.
4 years ago
Andrew Belt
155ae4ead6
Rename `updater::` to `library::`. Move VCV Library synchronization code from `plugin::` to `library::`.
4 years ago
Andrew Belt
8d908a0a55
Add system::join(). Add asset::module().
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
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
3265e33802
Add rough code for synchronizing module whitelist from VCV Library.
4 years ago
Andrew Belt
dd0e670050
Fix wchar_t/char16_t distinction on Windows.
5 years ago
Andrew Belt
e457294889
Change string::fromWstring to UTF16toUTF8. Change string::toWstring to UTF8toUTF16. Replace std::wstring to std::u16string and wchar_t to char16_t.
5 years ago
Andrew Belt
b3a3b1cdbd
Add system::get/setWorkingDirectory() which fixes the Windows build.
5 years ago
Andrew Belt
d7da2e2b93
Set Core plugin path to the system dir instead of leaving blank.
5 years ago
Andrew Belt
05427d938b
Overhaul threading model for Engine using a shared mutex based design.
5 years ago
Andrew Belt
825adb155d
Add cookie support to network::requestJson() and network::requestDownload().
5 years ago
Andrew Belt
120aafe6d3
Change order of includes to C++ standard headers, library headers, and local project headers.
5 years ago
Andrew Belt
495db04320
Repair build on Windows.
5 years ago
Andrew Belt
5129c29a86
Use -rpath=. for plugins. Set cwd when loading plugins.
5 years ago
Andrew Belt
1dcaf6c1bc
Fix some segfaults when destroying environment.
5 years ago
Andrew Belt
b6f1191168
Make all environment init() functions re-entrant after calling destroy() if it exists.
5 years ago
Andrew Belt
866f684ce4
Move app::APP_*, ABI_*, and API_* variables to rack:: namespace.
5 years ago
Andrew Belt
af834d49ee
Replace fopen, remove, and rename on Windows with wrappers that call
wide-string equivalents.
5 years ago
Andrew Belt
ca9231e1b3
Rename App to Context and app.hpp to context.hpp. The APP macro is still valid.
5 years ago
Andrew Belt
12fcaa4b08
Move moduleFromJson from engine to plugin namespace. Move Engine mutex lock at the top of Engine::step().
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
26bda06eb7
Move slug normalization from getPlugin or getModel functions to fromJson functions.
5 years ago
Andrew Belt
3f9b22e5b4
Explicitly specify RTLD_LOCAL for plugin loading.
5 years ago
Andrew Belt
a629561f58
Move plugin.cpp's extractZip to system::unzipToFolder().
5 years ago
Andrew Belt
d4586c3481
Check plugin version against Rack ABI version before plugin is loaded.
5 years ago
Andrew Belt
729b3dc3c9
Move tag lists to tag.cpp.
5 years ago
Andrew Belt
dca30e2b53
Auto-format code with astyle.
5 years ago
Andrew Belt
62179a1673
Allow included Fundamental plugin to be unsigned, which solves #1494 .
5 years ago
Andrew Belt
f381e1227a
Add string::filename() before computing string::filenameExtension().
5 years ago
Andrew Belt
923537402e
Add updater.hpp/cpp and more advanced app updating functionality.
5 years ago
Andrew Belt
535b64c5bb
Wrap Core plugin in core:: namespace.
5 years ago
Andrew Belt
d2f0458036
Close MenuOverlay when clicked with any mouse button
5 years ago
Andrew Belt
a6a8826c48
Fix mtime on Windows.
5 years ago
Andrew Belt
b5888180be
Use correct mtime on Mac.
5 years ago
Andrew Belt
82b817ec01
Add Plugin::modifiedTimestamp and set it in plugin.cpp. Sort by modifiedTimestamp in Module Browser.
5 years ago
Andrew Belt
68fbec5d6c
Improve behavior of "Update all" button.
5 years ago