summaryrefslogtreecommitdiffstats
path: root/src/engine/AudioBuffer.cpp
AgeCommit message (Collapse)AuthorFilesLines
2010-05-04Rename "object" extension "atom" extension.David Robillard1-9/+9
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2561 a436a847-0d15-0410-975c-d299462d15a1
2010-02-26Perform all mixing for an audio input in a single mix operation (instead of ↵David Robillard1-26/+0
a two step polyphony mixdown (by connections) and connections mixdown (by ports)). Speed up and inline AudioBuffer::accumulate, to speed up mix(). Remove local buffer from Connection (always mix into destination InputPort's buffers). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2494 a436a847-0d15-0410-975c-d299462d15a1
2010-02-24Add new Delay internal.David Robillard1-1/+14
Preliminary work towards split cycles. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2485 a436a847-0d15-0410-975c-d299462d15a1
2010-02-20Heavy overhaul of buffer management and polyphony.David Robillard1-6/+9
* Working polyphony when nodes are instantiated at desired polyphony level (dynamic still doesn't work) * Use shared silent buffer for disconnected audio inputs (save memory) * Eliminate redundant patch compiling on delete and disconnect-all events that have child events * Fix a ton of crash bugs and other issues I've since forgotten git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2468 a436a847-0d15-0410-975c-d299462d15a1
2010-01-29Magic MIDI binding via special ingen_control port.David Robillard1-1/+0
Always set lv2:minimum and lv2:maximum properties for control ports so they show up in properties dialog (and can be used for MIDI binding). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2391 a436a847-0d15-0410-975c-d299462d15a1
2010-01-06Do all logging output via Raul streams.David Robillard1-3/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2349 a436a847-0d15-0410-975c-d299462d15a1
2010-01-05Realtime safe buffer reference handling.David Robillard1-2/+2
Turns out that dropping a shared_ptr is not realtime safe, even if you use a realtime safe deleter. Instead, instrusive_ptr is used for buffer references, so a buffer reference may safely be dropped in the audio thread (in which case it will be recycled by the BufferFactory). Faster, cleaner, better. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2341 a436a847-0d15-0410-975c-d299462d15a1
2010-01-04Remove redundant LV2EventBuffer class and merge with EventBuffer.David Robillard1-9/+5
Refactor mixing from an in-place Buffer method (which doesn't work with EventBuffer) to a single function that takes an out of place destination and an array of sources. Fix audio buffer mixing for control<->audio. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2333 a436a847-0d15-0410-975c-d299462d15a1
2009-11-18Less reliance on Buffer::type() (which doesn't really make sense, since ↵David Robillard1-9/+16
buffer type != port type...). AudioBuffer copy improvements. Remove redundant AudioBuffer::_port_type (same as Buffer::_type). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2275 a436a847-0d15-0410-975c-d299462d15a1
2009-11-18Rename DataType to PortType (since that's what it really means).David Robillard1-8/+8
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2273 a436a847-0d15-0410-975c-d299462d15a1
2009-11-16Rework objects extension to have "value ports" and "message ports".David Robillard1-157/+72
Make audio and control buffers in ingen actually object buffers (towards interop). Overhaul the hell out of ingen buffer and mixing stuff. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2266 a436a847-0d15-0410-975c-d299462d15a1
2009-11-14Object extension.David Robillard1-6/+10
Port resize extension. Sensible extension(s) implementation design for Ingen. Replace string port extension support in Ingen with Object port extension. Implement port resize extension in Ingen. Some test plugins for this stuff. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2260 a436a847-0d15-0410-975c-d299462d15a1
2009-11-12String port support.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2255 a436a847-0d15-0410-975c-d299462d15a1
2009-09-12Fix spelling.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2189 a436a847-0d15-0410-975c-d299462d15a1
2009-06-03Clean up input port mixdown code.David Robillard1-4/+4
Make input port connections private, and ensure only touched from the process thread. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2076 a436a847-0d15-0410-975c-d299462d15a1
2009-06-02Fix horribly broken LV2 event implementation (ticket #378 among other problems).David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2061 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13Update copyright dates.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2000 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13Strip trailing whitespace.David Robillard1-13/+13
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1999 a436a847-0d15-0410-975c-d299462d15a1
2009-05-13Remove 'using' declarations from headers.David Robillard1-0/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1993 a436a847-0d15-0410-975c-d299462d15a1
2009-05-03Update waf configuration header for new waf scheme (in 1.5.6).David Robillard1-1/+1
Split low-level LV2 event buffer into separate class from EventBuffer (for reuse). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1958 a436a847-0d15-0410-975c-d299462d15a1
2008-12-21Fix mixdown of several connections with varying sizes (i.e. control and ↵David Robillard1-6/+7
audio) (fix ticket #308). Fix off-by-one error when copying a control buffer to an audio buffer. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1889 a436a847-0d15-0410-975c-d299462d15a1
2008-12-21Change configuration header name to something less likely to conflict.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1887 a436a847-0d15-0410-975c-d299462d15a1
2008-12-16Trim include dependency tree.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1870 a436a847-0d15-0410-975c-d299462d15a1
2008-10-19Make ingen actually run again :)David Robillard1-1/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1688 a436a847-0d15-0410-975c-d299462d15a1
2008-10-18Lower glib/glibmm dependency to 2.14.David Robillard1-15/+17
Fix optional parameters all over the palce because waf is retarded and sets failed check variables to ##some#stupid#name#like#this instead of false. Portability fixes (Ingen (except GUI) and all dependencies builds on OSX). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1681 a436a847-0d15-0410-975c-d299462d15a1
2008-10-11Fix crash when copying from a large buffer to a smaller one (just copy the ↵David Robillard1-2/+2
first bit) (fix ticket #232). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1634 a436a847-0d15-0410-975c-d299462d15a1
2008-09-30Flatten ingen source directory heirarchy a bit.David Robillard1-0/+299
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1551 a436a847-0d15-0410-975c-d299462d15a1