13
0
Commit Graph

1726 Commits

Author SHA1 Message Date
8687895abb remove using namespace sigc everywhere to ensure clarity over which bind/mem_fun is being used; make Config::map_parameters take a boost::function rather than a sigc::slot ; continue debugging crash caused by regionviews not tracking their Region's lifetime
git-svn-id: svn://localhost/ardour2/branches/3.0@6357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-12 15:02:15 +00:00
401c7091c8 switch to use boost::function for UI::call_slot operations, to avoid a serious thread safety issue with libsigc++
git-svn-id: svn://localhost/ardour2/branches/3.0@6355 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 23:30:48 +00:00
d7de23db0f added comment
git-svn-id: svn://localhost/ardour2/branches/3.0@6352 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 19:23:45 +00:00
70b75d656e add CTClosure for a closure that takes one argument at call time
git-svn-id: svn://localhost/ardour2/branches/3.0@6351 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 19:22:59 +00:00
9fa8a7e9c2 add comments and remove debug output
git-svn-id: svn://localhost/ardour2/branches/3.0@6350 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 18:21:08 +00:00
12172ff178 thread-safe but lifetime-unsafe closures for passing closures around instead of sigc::slot, which is thread-unsafe but lifetime-safe (lifetime safe means that the slot is guaranteed to be safe to use no matter what the lifetime of the object to which it refers is)
git-svn-id: svn://localhost/ardour2/branches/3.0@6349 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 18:08:30 +00:00
53bbac4eb6 fix compilation breakages from the last commit
git-svn-id: svn://localhost/ardour2/branches/3.0@6347 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 03:18:17 +00:00
2983f8de97 (MAY BREAK COMPILATION - unfinished work, being transferred between machines via svn) ... start to make MidiControllable bind to a URI, not an object
git-svn-id: svn://localhost/ardour2/branches/3.0@6346 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 02:00:22 +00:00
a3bcba2357 fulfill the promise of an in-library Keyboard object, and use platform specific modifiers throughout libgtkmm2ext. also fix up scrolling of pixfaders by making them grab keyboard magic focus when the mouse pointer is within them
git-svn-id: svn://localhost/ardour2/branches/3.0@6344 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-10 23:01:45 +00:00
6ab765e8fa add solo isolate indicator in editor route list
git-svn-id: svn://localhost/ardour2/branches/3.0@6343 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-10 20:51:35 +00:00
2f350c491e removed stupid comments
git-svn-id: svn://localhost/ardour2/branches/3.0@6342 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-10 20:50:41 +00:00
b1a7fd9366 avoid double delete of UI objects caused by default behaviour of Glib::Private
git-svn-id: svn://localhost/ardour2/branches/3.0@6341 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-10 20:50:12 +00:00
4341e67894 forward propagate solo-isolated status to everything fed by a route by something other than a send
git-svn-id: svn://localhost/ardour2/branches/3.0@6340 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-10 18:34:31 +00:00
e25862d787 fix recently-added crash when adding new tracks+busses
git-svn-id: svn://localhost/ardour2/branches/3.0@6339 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-10 18:33:54 +00:00
90d6916ca3 restore rec-enable, solo & mute functionality; remove all Global*Command cruft; reimplement momentary solo&mute; refactor session RT event stuff to be even cleaner and finally compatible with everything-is-a-UI idea ; make all UIs derive from a primitive type that pprovides only void call_slot (sigc::slot<void>) as a way to execute arbitrary code in the UI thread
git-svn-id: svn://localhost/ardour2/branches/3.0@6338 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-10 17:45:18 +00:00
61cade6d59 drastic, deep and wide changes to make RouteGroup use boost::shared_ptr<Route> and boost::shared_ptr<RouteList> to better fit into emerging framework for "RT operations" ; torben's changes to MTC slaving code (sorry for bundling)
git-svn-id: svn://localhost/ardour2/branches/3.0@6334 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-10 03:25:32 +00:00
b8b55ef003 OSC is now driven by an event loop; fix up lifetime mgmt of Glib::Source to workaround bug in Glib
git-svn-id: svn://localhost/ardour2/branches/3.0@6329 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-09 18:37:06 +00:00
c38e02285f major design changes: use glib event loop for MIDI thread/UI; rework design 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-09 03:05:14 +00:00
8faf95b9bd better, cleaner, more generic version of real-time ping pong, still just for one case of rec-enable but more coming soon
git-svn-id: svn://localhost/ardour2/branches/3.0@6325 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-07 23:51:46 +00:00
9686f8097d first pass at end-to-end RT operation request (GUI->session->RT thread->GUI), just for rec-enable
git-svn-id: svn://localhost/ardour2/branches/3.0@6324 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-07 21:37:35 +00:00
8dab33c609 Route::set_meter_point() is now conceptually RT safe, although it still takes a write lock on the processor list. this allows it to be called when setting rec-enable status on a route. not thoroughly tested, and still incomplete - single route rec-enables should probably use this pathway, and there is still no cross-thread cleanup from an RT route op request
git-svn-id: svn://localhost/ardour2/branches/3.0@6320 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-07 14:18:06 +00:00
Sampo Savolainen
b9876aa1d0 Eliminate double reversible commit from time stretch, and make the stretch operation lengthen / shorten the region as per operation.
git-svn-id: svn://localhost/ardour2/branches/3.0@6318 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-06 21:00:43 +00:00
Taybin Rutkin
52b4b464f9 Merged revisions 6292,6294-6295,6311,6314 via svnmerge from
svn+ssh://ardoursvn@subversion.ardour.org/ardour2/branches/build_fixes

........
  r6292 | trutkin | 2009-12-05 08:31:25 -0500 (Sat, 05 Dec 2009) | 1 line
  
  remove scons build files
........
  r6294 | trutkin | 2009-12-05 09:11:17 -0500 (Sat, 05 Dec 2009) | 2 lines
  
  cairomm
  remove unnecessary vendor libraries as we now rely on the developer to install them
........
  r6295 | trutkin | 2009-12-05 09:12:54 -0500 (Sat, 05 Dec 2009) | 2 lines
  
  soundtouch
  remove unnecessary vendor libraries as we now rely on the developer to install them
........
  r6311 | trutkin | 2009-12-05 23:38:49 -0500 (Sat, 05 Dec 2009) | 2 lines

  glibmm2, gtkmm2, libgnomecanvasmm, sigc++2  
  remove unnecessary vendor libraries as we now rely on the developer to install them
........
  r6314 | trutkin | 2009-12-06 09:15:49 -0500 (Sun, 06 Dec 2009) | 4 lines
  
  remove scons referencing from Makefile
  
  - TODO: should move cscope stuff to waf and get rid of the Makefile
........


git-svn-id: svn://localhost/ardour2/branches/3.0@6315 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-06 14:21:46 +00:00
Taybin Rutkin
3fdcba1859 Merged revisions 6293,6296-6306,6308 via svnmerge from
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-12-06 04:35:48 +00:00
28c6305fab fix for first of taybin's 2 problems - do not use uninitialized Port* in check on existing devices
git-svn-id: svn://localhost/ardour2/branches/3.0@6307 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-06 03:02:45 +00:00
Carl Hetherington
bdf5dead24 Make port inserts work.
git-svn-id: svn://localhost/ardour2/branches/3.0@6289 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 22:56:39 +00:00
7703f0a76a move generic parts of Keyboard into gtkmm2ext. imperfectly done, but makes modifiers available in libgtkmm2ext now
git-svn-id: svn://localhost/ardour2/branches/3.0@6288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 22:51:32 +00:00
0fe48475db switch ActionManager to a namespace; move generic part into libgtkmm2ext
git-svn-id: svn://localhost/ardour2/branches/3.0@6285 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 20:52:04 +00:00
4a3d7877f6 cross-thread handling of SessionEvent allocation/deallocation, with widespread consequences
git-svn-id: svn://localhost/ardour2/branches/3.0@6283 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 19:24:09 +00:00
Carl Hetherington
478fd92039 Use a shared_ptr for SessionPlaylists so that it can be explicitly destroyed in ~Session to ease debugging.
git-svn-id: svn://localhost/ardour2/branches/3.0@6282 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 19:09:08 +00:00
Carl Hetherington
12c9728530 Make processor box send faders adjust their size correctly.
git-svn-id: svn://localhost/ardour2/branches/3.0@6280 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 17:45:11 +00:00
Carl Hetherington
d901932f07 Fix setup of port insert IO names.
git-svn-id: svn://localhost/ardour2/branches/3.0@6276 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 11:08:53 +00:00
9ad2875905 move Session::Event into SessionEvent class; add SessionEventManager (Session IS-A SessionEventManager); make session ops to toggle all track rec-enable be atomic with respect to process()
git-svn-id: svn://localhost/ardour2/branches/3.0@6273 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 02:15:12 +00:00
Carl Hetherington
1ef43ec89c GPL boilerplate.
git-svn-id: svn://localhost/ardour2/branches/3.0@6272 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-03 21:55:15 +00:00
Carl Hetherington
a351048ca8 Add missing files.
git-svn-id: svn://localhost/ardour2/branches/3.0@6271 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-03 21:53:08 +00:00
Carl Hetherington
ee9455af40 Move some (most) playlist-related code and data into a separate object
(SessionPlaylists).  Main point being to ensure that, when a Session
is destroyed (especially as a result of its constructor throwing an
exception) SessionPlaylists::track is disconnected from its signal
at the same time as the list of playlists is destroyed.  Otherwise
problems abound.


git-svn-id: svn://localhost/ardour2/branches/3.0@6270 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-03 21:52:10 +00:00
03c74e45a8 more tweaks to MTC slave code (still not functional), including removing race conditions when resetting slave state; make Session catch on its own saved preferences, which has not been happening; make switching sync sources avoid race conditions
git-svn-id: svn://localhost/ardour2/branches/3.0@6269 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-03 18:44:06 +00:00
9dddffcc8f more MTC stuff, including toggleable use of torben's PI controller
git-svn-id: svn://localhost/ardour2/branches/3.0@6265 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-02 21:26:26 +00:00
c17b4a30a5 possibly useful PI controller from torben by way of jack2
git-svn-id: svn://localhost/ardour2/branches/3.0@6264 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-02 20:20:53 +00:00
f97470f489 add appleutility wscript
git-svn-id: svn://localhost/ardour2/branches/3.0@6263 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-02 02:26:37 +00:00
e0fec86fae continue with MTC debugging
git-svn-id: svn://localhost/ardour2/branches/3.0@6259 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 21:42:45 +00:00
b6d418f3c2 make ALSA MIDI I/O work with timestamps; more MTC debug tracing
git-svn-id: svn://localhost/ardour2/branches/3.0@6258 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 21:28:31 +00:00
Carl Hetherington
66ee16d7c8 Prevent some segfaults when trying to send MTC when there is no port to send it to.
git-svn-id: svn://localhost/ardour2/branches/3.0@6257 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 19:08:59 +00:00
9e9cb3bf31 adjust to use timestamped MTC messages
git-svn-id: svn://localhost/ardour2/branches/3.0@6255 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 18:32:29 +00:00
b825b86862 generalize hans' midi_clock_timestamp to be a general timestamp for incoming MIDI data (from JACK); make JACK_MidiPort::read() abort, because it should never ever be called; make JACK_MidiPort::~JackMIDIPort() unregister ports when it is destroyed; pass along the timestamp to MTC qtr and full signals
git-svn-id: svn://localhost/ardour2/branches/3.0@6254 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 18:31:00 +00:00
2ee9fb4d33 get non-JACK MIDI I/O working again, with debug tracing, naturally
git-svn-id: svn://localhost/ardour2/branches/3.0@6252 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 17:11:11 +00:00
194ee5d9ba continue with MTC debugging
git-svn-id: svn://localhost/ardour2/branches/3.0@6251 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 16:16:22 +00:00
50131b3751 continue with MTC debugging
git-svn-id: svn://localhost/ardour2/branches/3.0@6250 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 15:46:25 +00:00
35d86425ba continue with MTC debugging
git-svn-id: svn://localhost/ardour2/branches/3.0@6248 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 15:30:02 +00:00
f233c4738c continue with MTC debugging
git-svn-id: svn://localhost/ardour2/branches/3.0@6247 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 15:16:11 +00:00