13
0
Commit Graph

1738 Commits

Author SHA1 Message Date
Carl Hetherington
c53115c650 Fix assertion failure on transmission of MIDI clock.
git-svn-id: svn://localhost/ardour2/branches/3.0@6387 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-22 01:13:44 +00:00
Carl Hetherington
06f094d4b6 Fix crash when going from >2 outputs (2D panner) to <= 2 outputs.
git-svn-id: svn://localhost/ardour2/branches/3.0@6380 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-22 01:09:50 +00:00
f450df300c fully implement and deploy explicit x-thread signal connection syntax (testing comes next)
git-svn-id: svn://localhost/ardour2/branches/3.0@6379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-21 18:23:07 +00:00
738387f9a4 remove a couple of boost::signals2 trouble spots; fix some --strict compile time warnings
git-svn-id: svn://localhost/ardour2/branches/3.0@6378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-20 16:50:41 +00:00
96cd6c993b substantial overhaul of MCU code - no more separate thread, just connect to signals on ports already listened to by the MidiUI thread in libardour (feedback is missing - needs a timeout connection); also reformat some big chunks of code to fit ardour coding style
git-svn-id: svn://localhost/ardour2/branches/3.0@6377 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-20 16:49:55 +00:00
aae367b63c use new syntax for connecting to backend signals that enforces explicit 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-19 20:26:31 +00:00
67460c2af4 fix deadlock in protocol manager startup; fix some other ::set_session() SNAFUs; remove last boost::signals2::connection member from libardour
git-svn-id: svn://localhost/ardour2/branches/3.0@6375 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17 23:36:52 +00:00
cbb272af44 added files
git-svn-id: svn://localhost/ardour2/branches/3.0@6374 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17 19:04:07 +00:00
f6fdd8dcbf switch to using boost::signals2 instead of sigc++, at least for libardour. 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-17 18:24:23 +00:00
Carl Hetherington
da762129f1 Offer all of a bundle's ports for disconnection / removal when opening a menu over a bundle's name in the port matrix.
git-svn-id: svn://localhost/ardour2/branches/3.0@6365 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-14 16:44:20 +00:00
Carl Hetherington
383b24cc48 Fix crashes on increasing a bus' number of outputs.
git-svn-id: svn://localhost/ardour2/branches/3.0@6364 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-13 23:48:48 +00:00
Carl Hetherington
034db5fb1c Apply Select property of route groups at the Selection object level. Accordingly
simplify code related to selecting tracks.  Add a TrackViewList object rather than
"abusing" TrackSelection in lots of places.


git-svn-id: svn://localhost/ardour2/branches/3.0@6358 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-13 19:09:52 +00:00
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