1lv2 (1.18.2) stable; 2 3 * Various code cleanups and infrastructure improvements. 4 * eg-sampler: Save and restore gain parameter value. 5 * state: Fix state:StateChanged URI in metadata and documentation. 6 7 -- David Robillard <d@drobilla.net> Thu, 07 Jan 2021 00:00:00 8 9lv2 (1.18.0) stable; 10 11 * Improve documentation. 12 * Separate extended documentation from primary data. 13 * core: Add lv2:Markdown datatype. 14 * core: Deprecate lv2:reportsLatency. 15 * patch: Fix incorrect type of patch:sequenceNumber. 16 * port-groups: Remove incorrect type of pg:letterCode. 17 * port-groups: Replace broken links with detailed Ambisonic channel 18 descriptions. 19 * state: Add state:freePath feature. 20 * ui: Add ui:requestValue feature. 21 * ui: Add ui:scaleFactor, ui:foregroundColor, and ui:backgroundColor 22 properties. 23 * ui: Deprecate ui:binary. 24 * worker: Improve documentation. 25 26 -- David Robillard <d@drobilla.net> Sun, 26 Apr 2020 00:00:00 27 28lv2 (1.16.0) stable; 29 30 * Add core/attributes.h utility header. 31 * Add lv2_validate utility. 32 * Aggressively deprecate uri-map and event extensions. 33 * Install headers to simpler paths. 34 * Simplify use of lv2specgen. 35 * Upgrade build system and fix building with Python 3.7. 36 * atom: Add lv2_atom_object_get_typed() for easy type-safe access to object 37 properties. 38 * core: Add lv2:MIDIPlugin class. 39 * core: Rework port restrictions so that presets can be validated. 40 * eg-midigate: Respond to "all notes off" MIDI message. 41 * eg-sampler: Add waveform display to UI. 42 * midi: Fix incorrect range of midi:chunk. 43 * options: Relax range of opts:requiredOption and opts:supportedOption 44 * patch: Add patch:accept property. 45 * patch: Add patch:context property. 46 * state: Add state:StateChanged for notification events. 47 * time: Clarify time:beat origin. 48 * units: Fix outdated port description in documentation. 49 * units: Remove overly restrictive domain from units:unit. 50 51 -- David Robillard <d@drobilla.net> Sun, 03 Feb 2019 00:00:00 52 53lv2 (1.14.0) stable; 54 55 * buf-size: Add bufsz:coarseBlockLength feature. 56 * buf-size: Add bufsz:nominalBlockLength option. 57 * core: Add lv2:enabled designation. 58 * core: Add lv2_util.h with lv2_features_data() and lv2_features_query(). 59 * eg-sampler: Fix handling of state file paths. 60 * eg-sampler: Support thread-safe state restoration. 61 * eg-scope: Don't feed back UI state updates. 62 * log: Add lv2_log_logger_set_map() for changing the URI map of an existing 63 logger. 64 * state: Add LV2_STATE_ERR_NO_SPACE status flag. 65 * state: Add state:threadSafeRestore feature for dropout-free state 66 restoration. 67 * time: Define LV2_TIME_PREFIX. 68 * ui: Add missing property labels. 69 * ui: Improve documentation. 70 71 -- David Robillard <d@drobilla.net> Mon, 19 Sep 2016 00:00:00 72 73lv2 (1.12.0) stable; 74 75 * Fix merging of version histories in specification documentation. 76 * Improve API documentation. 77 * Simplify property restrictions by removing redundancy. 78 * core: Add extern C and visibility attribute to LV2_SYMBOL_EXPORT. 79 * core: Add lv2:isSideChain port property. 80 * core: Relax domain of lv2:minimum lv2:maximum and lv2:default so they can 81 be used to describe properties/parameters as well. 82 * eg-sampler: Add gain parameter. 83 * eg-sampler: Support patch:Get, and request initial state from UI. 84 * parameters: Add range to parameters so hosts know how to control them. 85 * patch: Add patch:Copy method. 86 * patch: Define patch:Get with no subject to implicitly apply to reciever. 87 This can be used by UIs to get an initial description of a plugin. 88 * units: Add lv2:Parameter to domain of units:unit. 89 * units: Fix non-existent port type in examples. 90 91 -- David Robillard <d@drobilla.net> Tue, 07 Apr 2015 00:00:00 92 93lv2 (1.10.0) stable; 94 95 * Fix -Wconversion warnings in headers. 96 * Upgrade to waf 1.7.16. 97 * atom: Add lv2_atom_forge_is_object_type() and lv2_atom_forge_is_blank() to 98 ease backwards compatibility. 99 * atom: Add lv2_atom_forge_key() for terser object writing. 100 * atom: Add lv2_atom_sequence_clear() and lv2_atom_sequence_append_event() 101 helper functions. 102 * atom: Deprecate Blank and Resource in favour of just Object. 103 * core: Clarify lv2_descriptor() and lv2_lib_descriptor() documentation. 104 * event: Minor documentation improvements. 105 * lv2specgen: Display deprecated warning on classes marked owl:deprecated. 106 * patch: Add patch:sequenceNumber for associating replies with requests. 107 * ui: Add show interface so UIs can gracefully degrade to separate windows 108 if hosts can not use their widget directly. 109 * ui: Fix identifier typos in documentation. 110 111 -- David Robillard <d@drobilla.net> Fri, 08 Aug 2014 00:00:00 112 113lv2 (1.8.0) stable; 114 115 * Add scope example plugin from Robin Gareus. 116 * Install lv2specgen for use by other projects. 117 * atom: Make lv2_atom_*_is_end() arguments const. 118 * core: Add lv2:prototype for property inheritance. 119 * log: Add missing include string.h to logger.h for memset. 120 * lv2specgen: Fix links to externally defined terms. 121 * ui: Fix LV2_UI_INVALID_PORT_INDEX identifier in documentation. 122 123 -- David Robillard <d@drobilla.net> Sat, 04 Jan 2014 00:00:00 124 125lv2 (1.6.0) stable; 126 127 * Fix lv2specgen usage from command line. 128 * Fix port indices of metronome example. 129 * Upgrade to waf 1.7.11. 130 * atom: Fix crash in forge.h when pushing atoms to a full buffer. 131 * ui: Add idle interface so native UIs and foreign toolkits can drive their 132 event loops. 133 * ui: Add ui:updateRate property. 134 135 -- David Robillard <d@drobilla.net> Fri, 09 Aug 2013 00:00:00 136 137lv2 (1.4.0) stable; 138 139 * Add metronome example plugin to demonstrate sample accurate tempo sync. 140 * Generate book-style HTML documentation from example plugins. 141 * atom: Fix lv2_atom_sequence_end(). 142 * atom: Improve atom documentation. 143 * atom: Remove atom:stringType in favour of owl:onDatatype so generic tools 144 can understand and validate atom literals. 145 * buf-size: Fix typo in bufsz:sequenceSize label. 146 * core: Add lv2:EnvelopePlugin class. 147 * core: Add lv2:control for designating primary event-based control ports. 148 * core: Make lv2:Parameter rdfs:subClassOf rdf:Property. 149 * core: Reserve minor version 0 for unstable development plugins. 150 * core: Set range of lv2:designation to lv2:Designation. 151 * event: Fix incorrect return type in lv2_event_get(). 152 * log: Add logger convenience API. 153 * options: Set the range of opts:requiredOption and opts:supportedOption to 154 opts:Option. 155 * patch: Add patch:readable and patch:writable for describing available 156 properties. 157 * patch: Make patch:Set a compact message for setting one property. 158 * state: Add state:loadDefaultState feature so plugins can have their 159 default state loaded without hard-coding default state as a special case. 160 * ui: Fix incorrect linker flag in ui:makeSONameResident documentation. 161 162 -- David Robillard <d@drobilla.net> Sun, 17 Feb 2013 00:00:00 163 164lv2 (1.2.0) stable; 165 166 * Move all project metadata for extensions (e.g. change log) to separate 167 files to spare hosts from loading them during discovery. 168 * Use stricter datatype definitions conformant with the XSD and OWL 169 specifications for better validation. 170 * atom: Add LV2_ATOM_CONTENTS_CONST and LV2_ATOM_BODY_CONST. 171 * atom: Add lv2_atom_object_body_get(). 172 * atom: Fix implicit conversions in forge.h that are invalid in C++11. 173 * atom: Fix lv2_atom_object_next() on 32-bit platforms. 174 * atom: Fix outdated documentation in forge.h. 175 * atom: Use consistent label style. 176 * buf-size: Initial release. 177 * core: Use consistent label style. 178 * dynmanifest: Use consistent label style. 179 * event: Make event iterator gracefully handle optional ports. 180 * event: Remove asserts from event-helper.h. 181 * event: Use consistent label style. 182 * event: Use more precise domain and range for EventPort properties. 183 * midi: Add C definitions for message types and standard controllers. 184 * midi: Add midi:HexByte datatype for status bytes and masks. 185 * midi: Add midi:binding and midi:channel predicates. 186 * midi: Fix definition of SystemExclusive status byte. 187 * midi: Remove non-standard midi:Tick message type. 188 * midi: Use consistent label style. 189 * morph: Initial release. 190 * options: Initial release. 191 * parameters: Add param:sampleRate. 192 * parameters: Add parameters.h of URI defines for convenience. 193 * parameters: Use consistent label style. 194 * port-groups: Use consistent label style. 195 * port-props: Use consistent label style. 196 * presets: Add preset banks. 197 * presets: Use consistent label style. 198 * state: Use consistent label style. 199 * time: Use consistent label style. 200 * ui: Add missing LV2_SYMBOL_EXPORT declaration for lv2ui_descriptor 201 prototype. 202 * ui: Add types for WindowsUI, CocoaUI, and Gtk3UI. 203 * ui: Use consistent label style. 204 * units: Remove units:name in favour of rdfs:label. 205 * units: Use consistent label style. 206 * urid: Fix typo in urid:unmap documentation. 207 208 -- David Robillard <d@drobilla.net> Sun, 14 Oct 2012 00:00:00 209 210lv2 (1.0.0) stable; 211 212 * Initial release as a unified project. Projects can now simply depend on 213 the pkg-config package 'lv2' for all official LV2 APIs. 214 * New extensions: atom, log, parameters, patch, port-groups, port-props, 215 resize-port, state, time, worker. 216 * atom: Initial release. 217 * core: Add lv2:CVPort. 218 * core: Add metadata concept of a designation, a channel or parameter 219 description which can be assigned to ports for more intelligent use by 220 hosts. 221 * core: Add new discovery API which allows libraries to read bundle files 222 during discovery, makes library construction/destruction explicit, and 223 adds extensibility to prevent future breakage. 224 * core: Fix LV2_SYMBOL_EXPORT and lv2_descriptor prototype for Windows. 225 * core: Merge with unified LV2 package. 226 * core: Relax the range of lv2:index so it can be used for things other than 227 ports. 228 * core: Remove lv2:Resource, which turned out to be meaningless. 229 * data-access: Merge with unified LV2 package. 230 * dynmanifest: Merge with unified LV2 package. 231 * event: Fix bug in lv2_event_reserve(). 232 * event: Fix incorrect ranges of some properties. 233 * event: Merge with unified LV2 package. 234 * instance-access: Merge with unified LV2 package. 235 * log: Initial release. 236 * midi: Add class definitions for various message types. 237 * midi: Document how to serialise a MidiEvent to a string. 238 * midi: Merge with unified LV2 package. 239 * parameters: Initial release. 240 * patch: Initial release. 241 * port-groups: Initial release. 242 * port-props: Initial release. 243 * presets: Add pset:preset property for describing the preset currently 244 applied to a plugin instance. 245 * presets: Merge with unified LV2 package. 246 * presets: Remove pset:appliesTo property, use lv2:appliesTo instead. 247 * resize-port: Initial release. 248 * state: Initial release. 249 * time: Initial release. 250 * ui: Add port protocols and a dynamic notification subscription mechanism, 251 for more flexible communication, and audio port metering without control 252 port kludges. 253 * ui: Add support for referring to ports by symbol. 254 * ui: Add touch feature to notify the host that the user has grabbed a 255 control. 256 * ui: Add ui:parent and ui:resize. 257 * ui: Add ui:portMap for accessing ports by symbol, allowing for UIs to be 258 distributed separately from plugins. 259 * ui: Merge with unified LV2 package. 260 * units: Add header of URI defines. 261 * units: Add unit for audio frames. 262 * units: Merge with unified LV2 package. 263 * uri-map: Merge with unified LV2 package. 264 * urid: Add feature struct names. 265 * urid: Merge with unified LV2 package. 266 * worker: Initial release. 267 268 -- David Robillard <d@drobilla.net> Mon, 16 Apr 2012 00:00:00 269