summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_unit.cc
AgeCommit message (Collapse)Author
2013-08-02rework MIDI [processor|plugin] chainRobin Gareus
* forward midi-data around plugins that have no MIDI-out * allow to insert plugins with no MIDI-input at a point with one MIDI-channel This works because excess ports (both plugin and route) remain unconnected and use scratch-buffers. Tested with LV2, LXVST and LADSPA. (AU plugins with variable in/out retain the old behavior, no bypass) fixes http://tracker.ardour.org/view.php?id=5630
2013-07-29Return an empty string instead of a boolMichael Fisher
2013-07-15finally get to the bottom of where NO_PLUGIN_STATE needs to be in order to ↵Paul Davis
be useful
2013-06-13Generalize no-plugin-state from AudioUnits to all pluginsPaul Davis
Replace AU_STATE_SUPPORT compile-time define with NO_PLUGIN_STATE and make it prevent plugin state setting, preset loading, preset saving and plugin state saving. Blocks on these actions exist partially in the backend and partially in the GUI (this latter class are not absolute, and should OSC or MIDI be able to drive Plugin::save_preset() the block could be circumvented). Set NO_PLUGIN_STATE if --freebie is used at waf-configure time
2013-05-02don't do debug trace output for every Render (process) call on an AU pluginPaul Davis
2012-07-25convert from Glib:: to Glib::Threads for all thread-related APIPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-14fix OS X compilationPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13040 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-12AU version of break recursive loops of ↵Paul Davis
Plugin::parameter_changed()->Plugin::ParameterChanged()->Plugin::parameter_changed() ... git-svn-id: svn://localhost/ardour2/branches/3.0@13037 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-11add StartTouch and EndTouch signals to Plugin class; make PluginInsert ↵Paul Davis
handle these signals and mark the start end of touch/gestures for a given AutomationControl; net result is that touch automation now works for AudioUnit plugins, at least those whose GUIs send kAudioUnitEvent_{Begin,End}ParameterGesture events git-svn-id: svn://localhost/ardour2/branches/3.0@13028 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-11fix propagation of parameter changes from Plugin to PluginInsert so that ↵Paul Davis
automation will record parameter changes performed in a plugin GUI (#4976) git-svn-id: svn://localhost/ardour2/branches/3.0@13026 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-11improved version of last commit, for tracking plugin control changes and ↵Paul Davis
mapping them to PluginInsert automation controls git-svn-id: svn://localhost/ardour2/branches/3.0@13025 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-11update automatable parameter's Evoral::Control object when AU parameter ↵Paul Davis
listener notifies us of a change git-svn-id: svn://localhost/ardour2/branches/3.0@13024 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-24string fix, plus a tweak to handling variable i/o AUsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@12913 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-11lots more work trying to create a common structure for accessing plugin and ↵Paul Davis
MIDNAME patch/preset/program names. still not done git-svn-id: svn://localhost/ardour2/branches/3.0@12665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-05when selecting one of a set of variable I/O configs for an AudioUnit so that ↵Paul Davis
its output matches its input, be sure to define the output configuration before returning to continue with configuration of subsequent processors. Fixes crash when loading various non-apple AU's as the first pre-fader plugin (#4909) git-svn-id: svn://localhost/ardour2/branches/3.0@12566 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-09another AU-specific tempo fixPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11203 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-06partially revert some of the recent work on tempo to reflect new ↵Paul Davis
understanding of the problem. behaviour is now believed to be totally correct but awaiting a bit more testing git-svn-id: svn://localhost/ardour2/branches/3.0@11171 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-05upgrade audiounit support to use the new tempomap APIPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11169 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-22more tempo-related AU changesPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11059 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-22switch over audio_unit.cc to use divisions_per_bar() not beats_per_bar(). ↵Paul Davis
not sure how this was missed git-svn-id: svn://localhost/ardour2/branches/3.0@11058 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-19rename Timecode::BBT_Time::ticks_per_beat to ↵Paul Davis
Timecode::BBT_Time::ticks_per_bar_division which is a more accurate and informative name. The number doesn't describe the smallest division of a "beat" (which is only defined contextually anyway), but rather the smallest division of the the divisions of a bar. If using a meter of 4/8, there are 4 divisions per bar, and we can divide each one into ticks_per_bar_division pieces; in a separate meter (section) of 3/8, there are 3 divisions per bar, each of which can be divided into ticks_per_bar_division_pieces. git-svn-id: svn://localhost/ardour2/branches/3.0@11022 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02Make Carbon GUI support for AU's optional at compile time (from Robin)Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10872 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-10use error << to replace cerr in AudioUnits GUI code, and a couple of minor ↵Paul Davis
tweaks in that code git-svn-id: svn://localhost/ardour2/branches/3.0@10521 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-01start trying to remove the use of Plugin::info()->n_{inputs,outputs}, which ↵Paul Davis
alway refer to static (unchanging) information from the plugin metadata, which is not useful in the face of AU-like plugin APIs that can change I/O valency as requested, at least some of the time git-svn-id: svn://localhost/ardour2/branches/3.0@10386 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-19add AU parameter listening stuff from 2.XPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10242 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-19working AU instruments (MIDI-driven synth plugins)Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10238 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-18deliver MIDI events to AU plugins that want themPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10225 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-18changes for OS X support: change waf config define to COREAUDIO_SUPPORT, ↵Paul Davis
remove PluginInsert call to IO::PortCountChanged, remove use of explicit Carbon linkage, fix up AudioUnit internals to actually work (Cocoa GUIs still currently broken) git-svn-id: svn://localhost/ardour2/branches/3.0@10224 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-30fixes for 98% of all the warnings/errors reported by OS X gcc on tigerPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@10179 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-09fix serious breakage with setup of plugin automatable controls/parameters, ↵Paul Davis
in which the relative ordering of things during ::set_state() was totally wrong. still see multiple instances of automation tracks for processors in GUI git-svn-id: svn://localhost/ardour2/branches/3.0@9698 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01Fix broken whitespace. I'd apologize for the compile times if it was my ↵David Robillard
fault :D git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-04Fix broken whitespace (no functional changes).David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@9288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-02more attempted cleanup of AU preset declarationsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9263 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-02fix up (?) audio_unit.cc compilation, maybePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9260 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-19Clean up plugin preset handling a bit.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8301 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14move ticks per beat from Meter to Timecode::BBT_Time, add new constructor ↵Paul Davis
for BBT_Time based on a double value; reduce BeatFramesConverted to 1 liners pending likely removal git-svn-id: svn://localhost/ardour2/branches/3.0@8277 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14Rename libmusictime libtimecode (consistent with already used namespace ↵David Robillard
"Timecode"). Move BBT_Time to libtimecode. git-svn-id: svn://localhost/ardour2/branches/3.0@8271 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-07Put plugin-note-off code in the right place.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8207 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03Remove all use of nframes_t.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-15nominally add MIDI input support for AudioUnit pluginsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@8044 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-13make ardour3 build and link on OS X (tiger, at least)Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@8018 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-14remove Glib::ustring from libardour; allow any characters except '/' and '\' ↵Paul Davis
in paths (may cause issues when loading creatively named 2.X sessions; fix a couple of details of name collection and usage from the startup dialog git-svn-id: svn://localhost/ardour2/branches/3.0@7772 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-03-13"Ardour" -> PROGRAM_NAME change for libardour and setup for gtk2_ardourPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@6757 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-06Merged revisions 6293,6296-6306,6308 via svnmerge from Taybin Rutkin
svn+ssh://ardoursvn@subversion.ardour.org/ardour2/branches/build_fixes ........ r6293 | trutkin | 2009-12-05 08:49:37 -0500 (Sat, 05 Dec 2009) | 2 lines fix if-statement in build script ........ r6296 | trutkin | 2009-12-05 09:30:19 -0500 (Sat, 05 Dec 2009) | 5 lines rearrange GTKOSX and darwin dependencies - moved some GTKOSX include paths to generic darwin - made GTKOSX dependent on being on darwin anyways ........ r6297 | trutkin | 2009-12-05 09:35:09 -0500 (Sat, 05 Dec 2009) | 2 lines move coreaudio and audiounit handling to darwin section ........ r6298 | trutkin | 2009-12-05 09:53:40 -0500 (Sat, 05 Dec 2009) | 3 lines use True/False instead of 1/0 fix another if-statement where it should be an elif-statement ........ r6299 | trutkin | 2009-12-05 14:11:09 -0500 (Sat, 05 Dec 2009) | 10 lines fixes to get libardour building - can't cast away volatile, so copy _transport_frame before emitting it. - const_reverse_iterator::operator!=() isn't defined in this version of gcc. - removed annoying HERE WE ARE CAAudioFile.h #warning. - removed unnecessary include of sndfile.h in session.h. - we don't want to set -march=i686 on the mac, so indent this if-statement so it's only run on linux. - DEBUG_STR() fails in the NDEBUG case, so wrap its use in an #ifndef NDEBUG ........ r6300 | trutkin | 2009-12-05 15:48:29 -0500 (Sat, 05 Dec 2009) | 2 lines remove old scons-style CXXFLAGS_FOO in favor of just CXXFLAGS ........ r6301 | trutkin | 2009-12-05 16:01:10 -0500 (Sat, 05 Dec 2009) | 8 lines clean up configure flags - removed useless --aubio and --syslibs flags. The syslibs value is ignored as we don't bring our own libraries with us anymoreand we use aubio automatically if it's available - added ways to turn off fpu_optimization and NLS - fixed compiling on the mac without fpu_optimization ........ r6302 | trutkin | 2009-12-05 18:12:46 -0500 (Sat, 05 Dec 2009) | 5 lines go back to prior uselib method for COREAUDIO, AUDIOUNIT, and GTKOSX - fixed compile of CoreAudioSource - re-did inclusion of coremidi_midiport.cc to depend on COREAUDIO presence ........ r6303 | trutkin | 2009-12-05 18:59:02 -0500 (Sat, 05 Dec 2009) | 5 lines fixed compiler warnings about classes with virtual member functions, but no virtual destructor. - Changed Metering to not use foo() = 0; to indicate it shouldn't be instantiated, but private: Metering(), which is more idiomatic. ........ r6304 | trutkin | 2009-12-05 19:25:41 -0500 (Sat, 05 Dec 2009) | 2 lines TOP_MENUBAR isn't used when building ardour.menus. Removed. ........ r6305 | trutkin | 2009-12-05 19:46:11 -0500 (Sat, 05 Dec 2009) | 5 lines fix some AudioUnit compile errors - update AudioUnit to use ChanCount - fix some namespacing issues in audio_unit.h ........ r6306 | trutkin | 2009-12-05 20:08:48 -0500 (Sat, 05 Dec 2009) | 2 lines make --extra-warn useful ........ r6308 | trutkin | 2009-12-05 22:59:42 -0500 (Sat, 05 Dec 2009) | 10 lines fix compiling/linking with --coreaudio - rearrange ardour_ui.h header in editor.cc to avoid conflict - midi++ depends on OSX as well as COREAUDIO - fixed including frameworks - tweaked --extra-warn again. it's kinda redundent with --strict - improved indentation in wscript - use #ifdef HAVE_COREMIDI, not #if HAVE_COREMIDI. #if isn't interchangable with #ifdef and won't work if HAVE_COREMIDI is defined with no value. ........ git-svn-id: svn://localhost/ardour2/branches/3.0@6310 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-22Defer plugin discovery until actually needed (significant startup time ↵David Robillard
improvement, especially with LV2). git-svn-id: svn://localhost/ardour2/branches/3.0@5859 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-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-04-16part 2 of 3 of the 2.8 -> 3.0 mergePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@4987 d708f5d6-7413-0410-9779-e7cbd77b26cf