summaryrefslogtreecommitdiff
path: root/libs/ardour/audioengine.cc
AgeCommit message (Collapse)Author
2010-09-17megaopus commit: (1) add __STD_(LIMIT|FORMAT)_MACROS to command line flags ↵Paul Davis
for cc and c++ builds, remove them from source (2) add new Property::midi_data used by MidiRegion to signal that its (MIDI) contents have changed (3) massive switch from nframes_t to framepos_t/framecnt_t including removal of ARDOUR::max_frames (replaced by ARDOUR::max_frame{pos,cnt} (lots more to do but this set was driven by changes to the Diskstream API to use framepos_t git-svn-id: svn://localhost/ardour2/branches/3.0@7791 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-02fix a variety of unused argument errors noted by gcc 4.3.2 on x86Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@7733 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-26some (unfinished) work on incorporating Ben's rev 6919 changes regarding ↵Paul Davis
track selection; make newly selected tracks show the current range selection; fix crashes related to meter display; remove "all" group from main group tab display and just put it down in its own button (totally incomplete); minor cleanups git-svn-id: svn://localhost/ardour2/branches/3.0@7696 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-16forward port 2.X changes up to and including rev 6714Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@7635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-13Move _port_offset up to AudioPort, as MidiPort does not use it.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7614 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-04Fix SNAFU with auto-connect. Fixes #3379.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7536 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-28Trim get_nth_physical port methods.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7518 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-28Add session MIDI bundles to enable connection of MIDI tracks from the ↵Carl Hetherington
right-click I/O menus. git-svn-id: svn://localhost/ardour2/branches/3.0@7517 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-14Do special things when freewheeling only when this instance of ardour is ↵Sampo Savolainen
exporting. git-svn-id: svn://localhost/ardour2/branches/3.0@7415 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-06Remove MMC thread protection which is pointless now that only JACK MIDI ↵Carl Hetherington
ports are used for output, which themselves can cope with multi-threaded access. git-svn-id: svn://localhost/ardour2/branches/3.0@7378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-06Remove non-JACK midi++ ports.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@7377 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-05Reestablish libmidi++ JACK ports on jack reconnection, so that control MIDI ↵Carl Hetherington
can still be sent after a JACK disconnect/reconnect. Fixes remainder of #3301. git-svn-id: svn://localhost/ardour2/branches/3.0@7373 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-29Clean up MMC transmission a bit, and make sure that it is all done from one ↵Carl Hetherington
thread. git-svn-id: svn://localhost/ardour2/branches/3.0@7324 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-26lots of details relating to MIDI file management; try to ignore ALSA ↵Paul Davis
sequencer MIDI ports named "Midi-Through" git-svn-id: svn://localhost/ardour2/branches/3.0@7305 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-24use JACK thread creation functions to create process-graph threads; provide ↵Paul Davis
GUI control over number of threads-relative-to-number-of-CPUS git-svn-id: svn://localhost/ardour2/branches/3.0@7296 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-21fix some warnings that come from a non-debug build, some of which are ↵Paul Davis
actually errors in handling return values from boost::signal emissions git-svn-id: svn://localhost/ardour2/branches/3.0@7285 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-09basically, fix all kinds of odds and ends with MIDI playback, including ↵Paul Davis
missed notes and applying gain git-svn-id: svn://localhost/ardour2/branches/3.0@7247 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-21commits 6001-6525 inclusive from 2.X applied to 3.0Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6942 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-13remove babbling torrent of debug outputPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6889 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-13substantive change: use the JACK wait API and provide "thread buffers" ↵Paul Davis
separately from session in preparation for parallelization. lots of debug output at present. If using JACK1, requires a very current version of JACK1 SVN (0.119.0) git-svn-id: svn://localhost/ardour2/branches/3.0@6888 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-05Make port matrix notice when connections are changed outside of ardour.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@6858 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-02(FULL) not-yet-complete JACK session management patch (TODO: get program ↵Paul Davis
name, vary snapshot name, arrange quit when necessary) git-svn-id: svn://localhost/ardour2/branches/3.0@6841 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-16changes from 2.X starting in march 2009 through oct 20 2009 (5826 inclusive)Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6761 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-15finalize PROGRAM_NAME change for ardour3Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6759 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-23Fix various code quality issues found by cppcheck (e.g. uninitialized ↵David Robillard
members, larger than necessary variable scope, memory leaks, etc). git-svn-id: svn://localhost/ardour2/branches/3.0@6710 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-31stop metering thread as we disconnect a session from audioengine; explicitly ↵Paul Davis
drop connections early in ~Route so that we don't still have signals being handled while we destruct; fix up some valgrind warnings git-svn-id: svn://localhost/ardour2/branches/3.0@6425 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-30fix crash caused by closing down JACK but not telling JACK_MidiPorts about itPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6412 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-27Re-integrate export-optimization branch.Sakari Bergen
Export now happens directly to file (unless normalizing is required), and can be easily optimized even further. The Session process connection is still broken during export (as it was before this commit also). git-svn-id: svn://localhost/ardour2/branches/3.0@6401 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-26change the way thread name is managed and accessed; store thread name for ↵Paul Davis
JACK thread(s); remove bits of debugging output git-svn-id: svn://localhost/ardour2/branches/3.0@6399 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-19use new syntax for connecting to backend signals that enforces explicit ↵Paul Davis
connection scope, plus a few other related matters git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17switch to using boost::signals2 instead of sigc++, at least for libardour. ↵Paul Davis
not finished yet, but compiles, loads sessions, records and can close a session without a crash git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-09major design changes: use glib event loop for MIDI thread/UI; rework design ↵Paul Davis
of BaseUI and AbstractUI; solo & mute are both temporarily broken; OSC control up next; may segfault during exit git-svn-id: svn://localhost/ardour2/branches/3.0@6328 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04cross-thread handling of SessionEvent allocation/deallocation, with ↵Paul Davis
widespread consequences git-svn-id: svn://localhost/ardour2/branches/3.0@6283 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-02more MTC stuff, including toggleable use of torben's PI controllerPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6265 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-27switch Route::fed_by from shared_ptr to weak_ptr and thus begin to allow ↵Paul Davis
Route destructors to be called git-svn-id: svn://localhost/ardour2/branches/3.0@6189 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14(1) silence non-process FIFO message (2) move MIDI state tracking down to ↵Paul Davis
the MidiPort level (3) forward port the PRIVATE_JACK pointer "fix" from 2.X git-svn-id: svn://localhost/ardour2/branches/3.0@5774 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-10-11Make the port matrix notice if JACK ports are registered or unregistered.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@5765 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-02Modified version of Hans' patch for mantis 1985. Also remove unused ↵Carl Hetherington
port_connections array in AudioEngine. git-svn-id: svn://localhost/ardour2/branches/3.0@5621 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-09fix (no)use of offset in AudioEngine::get_sync_offset()Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@5500 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-07-13merge pre- and post-fader processor boxes; start removing Placement (not ↵Paul Davis
finished) ; add -DWAF_BUILD and use per-directory foobar-config.h to correctly pick up configure-time settings like HAVE_OGG ; check for libgiomm (part of upgrade to newer gtk stack); 32 bit marker reload fix from 2.X; audiounit IO config cache fix from 2.X; multi-add route template fix from 2.X; plugin GUI delete fix from 2.X; solo button labels are A or P for listen mode git-svn-id: svn://localhost/ardour2/branches/3.0@5344 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-16first pass (ok, third really) at internal send+return - audio routing inside ↵Paul Davis
ardour without JACK. lots still to do, but at least the obvious works git-svn-id: svn://localhost/ardour2/branches/3.0@5202 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-11fix up missing ID in route state; no error message when making a port ↵Paul Davis
connection that already exists git-svn-id: svn://localhost/ardour2/branches/3.0@5168 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-16a gadzillion changes all over the place. nothing is finished, but all is ↵Paul Davis
better than it was. more to come on all almost everything touched by this commit, this is purely a sync-to-repository. compiles and runs, but now incompatible with all previous 3.0 session files (probably) git-svn-id: svn://localhost/ardour2/branches/3.0@5084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-16Move some sync-related options to being session variables.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@5083 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-13more work on the new all-Processor-all-The-Time redesign of Route - LOTS OF ↵Paul Davis
BREAKAGE STILL EXPECTED ; change all(?) methods that pass a start/end frame in to use sframes_t not nframes_t git-svn-id: svn://localhost/ardour2/branches/3.0@5074 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-05-04Preliminary MIDI plugin support.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@5036 d708f5d6-7413-0410-9779-e7cbd77b26cf