192 Commits (ed5a3629118d54af974885b1f38c1ea6c4d1db05)

Author SHA1 Message Date
  Andrew Belt 6dff695198 Rename plugin::getPlugin() to getPluginFallback(), getExactPlugin() to getPlugin(), and similar renaming for Model. Don't check plugin fallback in library. 3 years ago
  Andrew Belt 2a0cb4dc56 Remove libRack symlink immediately after loading plugin library. 3 years ago
  Andrew Belt f15799e9a7 Add plugin::getExactPlugin() and getExactModel() to public API. Fix inability to load plugin that is aliased to another. 3 years ago
  Andrew Belt 8f5f8992fb Remove old /tmp/Rack2 symbolic link before creating it. 3 years ago
  Andrew Belt 36e02a2c93 Link to the absolute path /tmp/Rack2/libRack.<ext>. Create a symlink at /tmp/Rack2 to the system dir containting libRack. 3 years ago
  Andrew Belt e32031a501 Revert using RTLD_DEEPBIND for loading plugins on Linux. 3 years ago
  Andrew Belt d9b169ebaf Add bidirectional module fallback: MindMeld-ShapeMasterPro/ShapeMasterPro. 3 years ago
  Andrew Belt 9eef95cf03 Add VultModules and VultModulesFree as plugin slug fallbacks of each other. 3 years ago
  Andrew Belt fc1a90d0e1 Use non-recursive plugin::getPlugin() and getModel(). 3 years ago
  Andrew Belt 9c70d94977 Call optional destroy() callback before unloading plugin library. 3 years ago
  Andrew Belt c32004713d Use RTLD_DEEPBIND for loading plugins with dlopen() on Linux. 3 years ago
  Andrew Belt c50cafb271 Change user dir to Rack2. Remove "-v2" from user subdirs. 3 years ago
  Andrew Belt ed11f116b3 Log plugin loading before attempting to load plugin, in case it crashes Rack. 3 years ago
  Andrew Belt e53d8ac481 Clean up dist filenames. 3 years ago
  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 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 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: 5 years ago
  Andrew Belt 26bda06eb7 Move slug normalization from getPlugin or getModel functions to fromJson functions. 5 years ago