|
| 1 | +This is a pre-release build of the ARA Library 2.0. |
| 2 | + |
| 3 | +Changes since previous releases: |
| 4 | + |
| 5 | +ARA SDK 2.0 draft 14 (aka 1.9.14) (2021/02/26) |
| 6 | +- applied Apache License 2.0 |
| 7 | +- added support for license management if using ARA plug-ins without UI as analysis or time-stretch engine |
| 8 | +- refactored plug-in entry to allow multiple DocumentController subclasses in one binary (e.g. WaveShell) |
| 9 | + by formalizing it into new PlugInEntry class |
| 10 | + Instead of providing DocumentController::doCreateDocumentController () and DocumentController::doCreateFactoryConfig (), |
| 11 | + client code now creates a static PlugInEntry instance by using the template function PlugInEntry::getPlugInEntry<> (). |
| 12 | + Plug-Ins vendors must update their usage of DocumentController accordingly! |
| 13 | +- refactored PlugInExtension so that it can be used as direct instance variable for companion API classes, |
| 14 | + which avoids dynamic allocation and simplifies user code |
| 15 | + Plug-Ins vendors must update their usage of PlugInExtension accordingly! |
| 16 | +- debug message prefix changed from a compile-time define to a runtime setup to facilitate multiple |
| 17 | + targets using the same compiled library (see also ARA_SETUP_DEBUG_MESSAGE_PREFIX) |
| 18 | +- bugfix in ContentReader template prevents crash in plug-ins if host does not provide content reading |
| 19 | +- ContentReaderEventIterator now returns const reference to its cache instead of value copy |
| 20 | +- fixed potential rounding issue in PlaybackRegion::getDurationInAudioModification/PlaybackSamples () |
| 21 | +- rounding utilities renamed |
| 22 | +- fixed several compiler warnings that were not enabled by default |
| 23 | +- added initial CMake support, still work-in-progress |
| 24 | + |
| 25 | +ARA SDK 2.0 draft 13 (aka 1.9.13) (2020/08/12) |
| 26 | +- fixed SizedStructPtr::implements<> () when using certain versions of clang |
| 27 | +- renamed macro ARA_MEMBER_PTR_ARGS to ARA_STRUCT_MEMBER |
| 28 | +- renamed template InterfaceWrapper to InterfaceInstance |
| 29 | +- consistent order of template parameters in all content reading related templates (contentType first) |
| 30 | +- removed ARA_PROVIDES_FUNCTION and SizedStructPtr::provides<> () since the current API does not use optional struct members |
| 31 | +- changed factory access in DocumentController implementation to use internal API instead of host-facing API |
| 32 | +- grouped document controller plug-in implementation customization methods into separate delegation base class |
| 33 | +- added will/didNotifyModelUpdates () hooks |
| 34 | + |
| 35 | +ARA SDK 2.0 draft 12 (aka 1.9.12) (2020/06/12) |
| 36 | +- re-introduced updated version of processing algorithm selection draft |
| 37 | +- completed implementation of pitch interpretation classes |
| 38 | +- fixed accidental handling in PitchInterpreter::getNoteNameForCircleOfFifthIndex() |
| 39 | +- when notifying changes from the plug-in, analysis progress is now sent before content updates |
| 40 | +- content reader now optionally validate data (used to be done in the content logger before) |
| 41 | + |
| 42 | +ARA SDK 2.0 draft 11 (aka 1.9.11) (2020/04/02) |
| 43 | +- improved logging functions for content reading |
| 44 | + |
| 45 | +ARA SDK 2.0 draft 10 (aka 1.9.10) (2020/03/13) |
| 46 | +- content reader wrappers changed to return copies instead of references to avoid stale pointers |
| 47 | +- fixed invalid ARAFactory pointer members by properly managing the FactoryConfig instance lifetime |
| 48 | +- fixed scale interval comparison in KeySignatureInterpreter |
| 49 | + |
| 50 | +ARA SDK 2.0 draft 9 (aka 1.9.9) (2019/12/06) |
| 51 | +- adopted current revision of partial persistency draft |
| 52 | +- added experimental Linux support (tested on Ubuntu 18.04 w/ GCC 8.3.0 and clang 7.0) |
| 53 | +- dropped support for VisualStudio 2013 due to its heavily limited C++11 support |
| 54 | +- added support for thread-safe analysis progress reporting |
| 55 | +- added support for content update notifications |
| 56 | +- fromRef() and fromHostRef() allow for optional immediate up-casting to derived classes |
| 57 | +- changed construction of interface wrapper classes to require an actual interface instance |
| 58 | +- improved partial persistency filters to allow for proper update notifications and error handling |
| 59 | +- fixed ModelUpdateControllerDispatcher to properly hook up notifyPlaybackRegionContentChanged () |
| 60 | +- consistent rounding from continuous time to integer sample positions |
| 61 | +- improved support for noexcept |
| 62 | +- improved const correctness |
| 63 | +- cleaner implementation of std::vector utilities |
| 64 | +- stricter C++11 coding style |
| 65 | +- removed all uses of std::unique_ptr from the library, restricting its use to the example code |
| 66 | +- added support for deactivation for undo history to ARAPlug |
| 67 | +- abstracted factory configuration in ARAPlug |
| 68 | +- added some data validation to content logging |
| 69 | +- fixes for Xcode 8 namespace issues when using std::malloc()/std::free() |
| 70 | +- updated to be compatible with Xcode 11.2.1 |
| 71 | + |
| 72 | +ARA SDK 2.0 draft 8 (aka 1.9.8) (2019/06/28) |
| 73 | +- replaced ARA_NOEXCEPT with regular noexcept, using different workaround for Visual Studio 2013 |
| 74 | +- fixes for optional ARA 1 support |
| 75 | +- consistently renamed host-implemented classes used by plug-in so class names start with Host... |
| 76 | +- improved C++ details such as use of constexpr, explicit constructors, noexcept declarations, etc. |
| 77 | +- bugfix in ViewSelection::getEffectivePlaybackRegions () when no time range has been set |
| 78 | +- providing extended html version of the ARA_API docs that additionally includes the Doxygen docs |
| 79 | + for the ARA_Library code |
| 80 | + |
| 81 | +ARA SDK 2.0 draft 7 (aka 1.9.7) (2019/03/04) |
| 82 | +- SizedStruct now imposes proper alignment restrictions |
| 83 | +- fixed bug in host dispatch that caused calls to isAudioSourceContentAvailable () to accidentally |
| 84 | + call getAudioSourceContentGrade () and vice versa |
| 85 | +- fixed bug in ARAPlug in doGetAudioModificationContentGrade () which accidentally internally |
| 86 | + called doGetAudioSourceContentGrade () |
| 87 | +- fixed bug in ARAPlug in requestAudioSourceContentAnalysisWithAlgorithm () which accidentally |
| 88 | + dropped algorithmIndex |
| 89 | +- host dispatch code updated to correctly reflect the fact that new ARA 2 partial persistency |
| 90 | + requires kARAAPIGeneration_2_0_Final, i.e. kARAAPIGeneration_2_0_Draft is not sufficient |
| 91 | +- unifyed API for creating or cloning audio modifications in ARAPlug |
| 92 | +- cleaner state handling for begin/endEditing () |
| 93 | +- updated mapping code between API refs and internal objects to be variadic so that a single |
| 94 | + object can be used as multiple different refs |
| 95 | +- added helpers for up-casting std::vector<T*> or std::vector<unique_ptr<T>> |
| 96 | +- getters in the ARAPlug classes templated to allow for convenient up-casting to derived classes |
| 97 | +- unified ARA::Host/PlugIn::ContentReader in new ARA::ContentReader and moved the associated code |
| 98 | + into a new header ARAContentReader.h |
| 99 | + Note that this change means that host code using the previous implementation may need minor updates. |
| 100 | +- improved the unified content reader class with more convenient construction, and |
| 101 | + added full stl compatible iterator support |
| 102 | +- added generic tool for logging content information in ARAContentLogger.h |
| 103 | +- added ContentUpdateScopes as convenient wrapper for ARAContentUpdateFlags |
| 104 | +- added optimized timeline conversion classes to map between seconds, quarters, beats etc. |
| 105 | +- drafted preliminary code to convert note names, ARAContentChord and ARAContentKeySignature to text |
| 106 | +- added convenience conversions between various selection types to ViewSelection |
| 107 | +- added support for C++ noexcept |
| 108 | +- made code compile without warnings when unused parameter warnings are enabled |
| 109 | +- properly supporting and using Xcode and Visual Studio static analyzers |
| 110 | + |
| 111 | +ARA SDK 2.0 draft 6 (aka 1.9.6) (2018/9/19) |
| 112 | +This is the public release of kARAAPIGeneration_2_0_Draft. |
| 113 | +For changes compared earlier versions, see Version.txt in that release of the SDK. |
0 commit comments