summaryrefslogtreecommitdiff
path: root/libs/ardour/diskstream.cc
AgeCommit message (Collapse)Author
2009-11-25carl's wondrous DnD VBox patch - processor boxes are now vboxes and not ↵Paul Davis
listviews - which included a couple of minor marker/time axis view patches for opaqueness etc. git-svn-id: svn://localhost/ardour2/branches/3.0@6174 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-30make 3.0 catch up with transport and other changes in 2.X (hand applied, not ↵Paul Davis
merged) git-svn-id: svn://localhost/ardour2/branches/3.0@5989 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20Factor out more duplicated code.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@5819 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-20Factor out duplicated code in AudioDiskstream and MidiDiskstream.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@5818 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14Strip trailing whitespace and fix other whitespace errors (e.g. space/tab ↵David Robillard
mixing). Whitespace changes only. Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red. I don't know the emacs equivalent... git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21Fix some unused parameter warnings.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@5403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-26Fix up automation-follows-regionsCarl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@5286 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-26allow automation-follows-relevant-regions againPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@5285 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-10* Refactor varispeed playback into own class, replace fixed-point arithmetic ↵Hans Baier
by double, fix unit tests for libardour git-svn-id: svn://localhost/ardour2/branches/3.0@5145 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-09the big Route structure refactor. !!!! THIS WILL ***NOT LOAD*** PRIOR 3.0 ↵Paul Davis
or 2.X SESSIONS !!!! BREAKAGE IS EXPECTED !!!! IF YOU HAVE AND NEED A WORKING 3.0 DO **NOT** UPDATE. !!!! otherwise, update and enjoy the steadily emerging joys of this major reworking of ardour internals git-svn-id: svn://localhost/ardour2/branches/3.0@5137 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-07The great audio processing overhaul.David Robillard
The vast majority of Route signal processing is now simply in the list of processors. There are definitely regressions here, but there's also a lot of things fixed. It's far too much work to let diverge anymore regardless, so here it is. The basic model is: A route has a fixed set of input channels (matching its JACK input ports and diskstream). The first processor takes this as input. The next processor is configured using the first processor's output as input, and is allowed to choose whatever output it wants given that input... and so on, and so on. Finally, the last processor's requested output is used to set up the panner and create whatever Jack ports are needed to output the data. All 'special' internal processors (meter, fader, amp, insert, send) are currently transparent: they read any input, and return the same set of channels back (unmodified, except for amp). User visible changes: * LV2 Instrument support (tracks with both MIDI and audio channels) * MIDI in/out plugin support * Generic plugin replication (for MIDI plugins, MIDI/audio plugins) * Movable meter point Known Bugs: * Things seem to get weird on loaded sessions * Output delivery is sketchy * 2.0 session loading was probably already broken... but it's definitely broken now :) Please test this and file bugs if you have any time... git-svn-id: svn://localhost/ardour2/branches/3.0@5055 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25*** NEW CODING POLICY ***David Robillard
All #include statements that include a header that is a part of a library bundled with ardour MUST use quotes, not angle brackets. Do this: #include "ardour/types.h" NOT this: #include <ardour/types.h> Rationale: This is best practice in general, to ensure we include the local version and not the system version. That quotes mean "local" (in some sense) and angle brackets mean "system" (in some sense) is a ubiquitous convention and IIRC right in the C spec somewhere. More pragmatically, this is required by (my) waf (stuff) for dependencies to work correctly. That is: !!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!! Failure to comply is punishable by death by torture. :) P.S. It's not that dramatic in all cases, but this (in combination with some GCC flags specific to the include type) is the best way I have found to be absolutely 100% positive the local ones are being used (and we definitely want to be absolutely 100% positive on that one). git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-02Make (MIDI) event time stamp type a template parameter.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@4473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-30Trim include dependency graph, especially for io.h and session.h.David Robillard
Clean up some stuff and other such gruntwork in the process. git-svn-id: svn://localhost/ardour2/branches/3.0@4468 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-09* changed transport speed in session and slaves from float to doubleHans Baier
* added some comments git-svn-id: svn://localhost/ardour2/branches/3.0@4394 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-16Implement #2425: option for automation to follow region moves.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@4326 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02rollback to 3428, before the mysterious removal of libs/* at 3431/3432Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@3435 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02remove empty sigc++2 directoryDoug McLain
git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-01-13Install everything to *ardour3* instead of *ardour2*.David Robillard
Fix initial display of keys and scroomer on new MIDI tracks. Remove console barf. git-svn-id: svn://localhost/ardour2/trunk@2909 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-10-12fixes for varispeed playback, mackie control compilation, new odd color for ↵Paul Davis
treeview rows git-svn-id: svn://localhost/ardour2/trunk@2544 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-23Insert/Redirect refactoring, towards better MIDI support in mixer strip, andDavid Robillard
http://ardour.org/node/1043 style things. git-svn-id: svn://localhost/ardour2/trunk@2027 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-04-12Merged with trunk R1705.David Robillard
Synced .po files with trunk. Fixed more editor operations to be type agnostic (ie not audio only). git-svn-id: svn://localhost/ardour2/branches/midi@1709 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-03-18Merged with trunk R1612.David Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@1614 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-01-09Merged with trunk R1283.David Robillard
NOTE: Compiles, but broken (crash on adding MIDI track). git-svn-id: svn://localhost/ardour2/branches/midi@1292 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-11-19Merged with trunk R1141David Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@1142 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-21Merged with trunk R999.David Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@1000 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-10-21Merged with trunk R992.David Robillard
Completely untested other than it compiles, runs, and records somewhat (need to merge again). git-svn-id: svn://localhost/ardour2/branches/midi@999 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-29Merged with trunk R861David Robillard
Possible new bugs - not very thoroughly tested, but at least functional at first glance git-svn-id: svn://localhost/ardour2/branches/midi@870 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-24Merged with trunk R846David Robillard
Removed some overly verbose debug printing git-svn-id: svn://localhost/ardour2/branches/midi@847 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-12Towards MIDI:David Robillard
- Converted vector<Sample*> to BufferList and numerous counts from int to ChanCount (and related changes) - Added fancy type-generic iterators to BufferList, PortIterator (see IO::collect_input for a good example of the idea - the same code will work to read all input (of various types in a single IO, eg instruments) without modification no matter how many types we add) - Fixed comparison operator bugs with ChanCount (screwed up metering among other things) - Moved peak metering into it's own object, and moved most of the pan related code out of IO to panner (still a touch more to be done here for MIDI playback) Not directly MIDI related fixes for problems in trunk: - Fixed varispeed gain/pan automation to work properly (was reading the wrong range of automation data, probably causing nasty clicks?) - Fixed crash on varispeed looping (possibly only a 64-bit problem). It still doesn't work, but at least it doesn't die Quite a few things broken, and the new classes are pretty filthy still, but I think the direction is a lot better than all my previous plans... git-svn-id: svn://localhost/ardour2/branches/midi@795 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-11- Changed IO's vector<Port*>'s to PortListDavid Robillard
- Added new Port classes, code to drive them - Added PortList, which is a filthy mess ATM (nevermind that, it's the interface that's important at this stage) - Added ChanCount, though it isn't very thoroughly used yet. That's the next step.... - Fixed a few bugs relating to loading sessions saved with trunk - Fixed a few random other bugs Slowly working towards type agnosticism while keeping all the former code/logic intact is the name of the game here Warning: Removing ports is currently (intentionally) broken due solely to laziness. git-svn-id: svn://localhost/ardour2/branches/midi@786 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-08-01Mostly Cosmetic/Design changes to bring trunk and midi branch closerDavid Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@733 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-30Abstraction cleanups/polish, towards merging with trunkDavid Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@720 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-19Work towards removal of Session's Diskstream list.David Robillard
Havn't managed to completely remove it because of Session loading from XML - the Diskstreams are separate from the Tracks (I assume as a throwback to when they were distinct) so the Diskstreams need to be stored somewhere until the Tracks are loaded. Ideally tracks should completely own their Diskstreams - not sure how to accomplish this without breaking Session loading though... git-svn-id: svn://localhost/ardour2/branches/midi@687 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-07-14Merge big changes (mostly Controllable) from trunkDavid Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@682 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-26Actually added the code mentioned in my last commit. Whoops.David Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@643 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-15Merged with trunk revision 600David Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@601 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-06-13Merged with trunk (painfully)David Robillard
git-svn-id: svn://localhost/ardour2/branches/midi@581 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-05-17Remove CannotRecordNoInput signal (allowing recording without input ↵Nick Mainsbridge
connections), provide visual indication of phase reverse, change e.g. 'gain automation' to 'fader automation', enforce mouse button 1 use in mixer strip, make button labels more consistent in mixer strip, disable io change/record enable when disconnected from jack on mixer strip, remove duplicated signal connections and typo in audio_time_axis.cc. git-svn-id: svn://localhost/trunk/ardour2@505 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-04-11likely fixes for problems loading templates with destructive tracks. Note ↵Paul Davis
that old templates with such tracks will need to be re-generated, since they are lacking information required for the session setup to succeed git-svn-id: svn://localhost/trunk/ardour2@452 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-04-04new region names are now based on file source names, standardise ↵Nick Mainsbridge
capitalisation of location right click menus git-svn-id: svn://localhost/trunk/ardour2@440 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-29a) fix special button press handling for solo+mute buttonsPaul Davis
b) buttons for "restore pending state" dialog had reversed semantics c) logic for checking a pending source file header was wrong d) fixed file unlink from within real-time context git-svn-id: svn://localhost/trunk/ardour2@424 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-28 a) fix problems with multichannel tape tracksPaul Davis
b) separate data format and header format for native audio files c) expose data/header selections in GUI d) fix error in file naming for multichannel tape tracks e) remove blocks on GTK rc files during startup git-svn-id: svn://localhost/trunk/ardour2@423 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-17lots of fidgety work to get track renaming to work correctly now that we ↵Paul Davis
have to rename audio files too; some GUI tweaks git-svn-id: svn://localhost/trunk/ardour2@404 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-14fix for restoring destructive-ness on session reload using flags, plus an ↵Paul Davis
edit/mix group fix to avoid gtk error msgs git-svn-id: svn://localhost/trunk/ardour2@391 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-14improvements (!) to waveform display for destructive tracks, plus a generic ↵Paul Davis
fix that avoid waveview attemting to read peaks before they are ready git-svn-id: svn://localhost/trunk/ardour2@388 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-03-08fix for erroneous use of a menu group; remove lots of cerr cruft; no ↵Paul Davis
playlist ops for destructive tracks git-svn-id: svn://localhost/trunk/ardour2@359 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-02-18fix various issues with destructive single region tracksPaul Davis
git-svn-id: svn://localhost/trunk/ardour2@339 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-02-17don't do system reads beyond the apparent data end of a file; single region ↵Paul Davis
for destructive tracks git-svn-id: svn://localhost/trunk/ardour2@337 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-02-17diskstream fixups for destructive track captures. crossfade fixes for ↵Jesse Chappell
destructive sources. git-svn-id: svn://localhost/trunk/ardour2@336 d708f5d6-7413-0410-9779-e7cbd77b26cf