aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/eg-sampler.lv2/sampler.c
AgeCommit message (Collapse)AuthorFilesLines
2017-02-12Fix memory leakDavid Robillard1-0/+2
2016-10-19Gracefully handle failure to load sampleDavid Robillard1-5/+8
2016-10-05Write output between events with sample accuracyDavid Robillard1-104/+128
This is closer to how a non-toy plugin should work, and importantly demonstrates the proper way to emit audio while processing events. In particular, this approach makes sample-accurate session export possible (thanks to the sychronous possibilities of the worker).
2016-10-04eg-sampler: Add waveform display to UIDavid Robillard1-20/+44
2016-07-31Fix compilation with C++David Robillard1-2/+2
2016-07-31Fix memory leakDavid Robillard1-1/+2
2016-07-31eg-sampler: Support thread-safe state restorationDavid Robillard1-63/+83
2016-07-31Clean up example plugin initializationDavid Robillard1-39/+18
2016-07-30Use calloc to allocate instancesDavid Robillard1-3/+2
2015-12-03eg-sampler: Fix handling of state file pathsDavid Robillard1-22/+45
2015-02-20Update UI when state changes.David Robillard1-0/+11
2014-11-02Add gain parameter to eg-sampler.David Robillard1-6/+35
2014-10-31eg-sampler: Support patch:Get, and request initial state from UI.David Robillard1-0/+7
2014-08-06Order book chapters in build script rather than by bundle name.David Robillard1-0/+483
2013-02-11Order examples in a sensible progression for the book.David Robillard1-498/+0
2013-01-10Expose sampler parameter to host.David Robillard1-2/+2
Update to new definition of patch:Set.
2013-01-08Add logger convenience API.David Robillard1-34/+19
2012-12-23Windows compilation fixes.David Robillard1-1/+3
2012-08-31Fix crash on save when no sample is loaded.David Robillard1-3/+6
2012-08-14midi: Remove non-standard midi:Tick message type.David Robillard1-2/+7
midi: Add C definitions for message types and standard controllers. midi: Fix definition of SystemExclusive status byte. Use new MIDI API in eg-sampler.
2012-08-11Improve const correctness.David Robillard1-11/+11
2012-08-09Fix warnings: -Wshadow -Wpointer-arith -Wcast-align -Wstrict-prototypes ↵David Robillard1-3/+3
-Wmissing-prototypes.
2012-04-12Make all atom/util.h functions start with lv2_atom.David Robillard1-2/+1
2012-04-06Use a smaller and freely licensed default sample.David Robillard1-1/+1
2012-04-06Tidy and improve documentation.David Robillard1-40/+57
2012-04-05Twiddle log extension class hierarchy a bit, and all log:Trace level.David Robillard1-63/+89
Use log extension in eg-sample if available.
2012-03-30Fix screwy invalid ExtensionData definitions as classes (now matches how ↵David Robillard1-4/+8
Feature is used). Add status return codes to state methods for error handling.
2012-03-27Add end_run hook to worker interface.David Robillard1-1/+1
2012-03-23Add worker extension to remove thread stuff from plugins.David Robillard1-156/+103
2012-03-16Update for patch extension.David Robillard1-2/+2
2012-03-11Stylistically match the most recent state extension.David Robillard1-5/+5
2012-03-01Rework forge sink interface to support buffer resizing (e.g. realloc).David Robillard1-6/+2
2012-02-29Simplify atom:AtomPort buffers to point directly at Atoms.David Robillard1-12/+17
2012-02-24Fix loading of initial sample.David Robillard1-6/+6
2012-02-23Put atom size first.David Robillard1-5/+4
Fix doxygen stylesheet.
2012-02-23Separately define body types for atoms with non-trivial bodies so the type ↵David Robillard1-4/+4
definitions are useful when only the body is available (e.g. state API). Use a single int64_t stamp for frame times since range is more important now and subframes was never really used anyway. Add atom:frameTime and atom:beatTime for serialising events. Consistently use name "body" for all types of atom bodies. Add lv2_atom_forge_atom() and lv2_atom_forge_raw() for constructing arbitrary atoms. Merge similar string-like forge methods. Update language URI requirements to match current (and hopefully permanent, geeze) http://lexvo.org reality.
2012-02-19Rename LV2_Atom_Object::type => LV2_Atom_Object::otype to avoid confusion ↵David Robillard1-2/+2
with LV2_Atom::type.
2012-02-19atom/atom-helpers.h => atom/util.h.David Robillard1-1/+1
2012-02-19Clean up code, update copyright dates.David Robillard1-5/+5
2012-02-18Remove state:Path and use new atom:Path instead.David Robillard1-69/+25
Remove suggestion to use file URIs in plugins, which is much too tedious. If plugins use standard atom types, hosts should be able to map paths in any way (which they may need to regardless). Unfortunately it's slightly less pretty in Turtle to have a special path type rather than a (possibly relative) URI. Factor out common write_set_filename_msg in sampler example. Establish common URI define convention LV2_EXTNAME__URILOCALNAME and define all URIs in state, message, and atom.
2012-02-18Make forge API more fool-proof and automatically update container sizes to ↵David Robillard1-18/+24
any depth.
2012-02-18Fix invalid messages sent between plugin and UI.David Robillard1-4/+5
2012-02-18Send notifications to the UI and display loaded sample path.David Robillard1-120/+119
2012-02-17Add LV2_Atom_Port_Buffer.David Robillard1-6/+6
2012-02-17Send a proper file URI to load sample instead of a path string.David Robillard1-19/+47
2012-02-16Implement real-time safe sample loading.David Robillard1-125/+187
2012-02-14Add lv2_object_getv.David Robillard1-15/+25
2012-02-13Fix bad returns.David Robillard1-2/+2
2012-02-13Add response port (not yet used).David Robillard1-33/+44
Move message handling to separate function.
2012-02-13Centralize URI map cache and use in both plugin and UI.David Robillard1-26/+15