13
0
Commit Graph

88 Commits

Author SHA1 Message Date
8849cb4287 add new concept for managing alignment style (AlignChoice); switch to using worst_playback_latency() just about everywhere we were using worst_output_latency() - the former includes plugin latency. answer appears to break earlier fixes to alignment, but is semantically right, so plan to investigate in another 8 hours or so
git-svn-id: svn://localhost/ardour2/branches/3.0@9112 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-09 05:19:44 +00:00
Carl Hetherington
49869c98f3 Prevent various things from stopping the transport by requesting a transport speed of exactly 0 when they are really just continuously varying it. Fixes strange playhead behaviour during varispeed when the user varispeeds to exactly 0 and auto-return is triggered.
git-svn-id: svn://localhost/ardour2/branches/3.0@8733 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-07 01:12:47 +00:00
Carl Hetherington
ed72df29b7 Respond to MMC even when synced to JACK. Fixes #3700.
git-svn-id: svn://localhost/ardour2/branches/3.0@8495 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-10 22:48:25 +00:00
Carl Hetherington
4273093d40 Send full MTC messages every 1/4 of a second when quarter-frame messages are suspended (due to out-of-range transport speed)
git-svn-id: svn://localhost/ardour2/branches/3.0@8429 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-04 03:35:10 +00:00
Carl Hetherington
d795980546 Stop QF messages when transport speed is out of range, and re-start them properly.
git-svn-id: svn://localhost/ardour2/branches/3.0@8423 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-03 23:55:00 +00:00
Carl Hetherington
b3fe29af41 Cope with non-unity transport speed when sending MTC.
git-svn-id: svn://localhost/ardour2/branches/3.0@8422 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-03 23:54:36 +00:00
4b861e6039 Rename libmusictime libtimecode (consistent with already used namespace "Timecode").
Move BBT_Time to libtimecode.


git-svn-id: svn://localhost/ardour2/branches/3.0@8271 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14 18:13:37 +00:00
Carl Hetherington
8d5b4fbf4a Fix comment.
git-svn-id: svn://localhost/ardour2/branches/3.0@8258 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-13 16:03:13 +00:00
Carl Hetherington
73192bc1a7 Remove all use of nframes_t.
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00
Carl Hetherington
bce9a0aee7 Revert previous incorrect patch.
git-svn-id: svn://localhost/ardour2/branches/3.0@8144 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-01 17:51:17 +00:00
Carl Hetherington
f500846fd4 Remove unused timecode offset stuff.
git-svn-id: svn://localhost/ardour2/branches/3.0@8143 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-01 17:42:18 +00:00
ede4ecbb00 megaopus patch #2 for today: remove nframes64_t and sframes_t from source
git-svn-id: svn://localhost/ardour2/branches/3.0@7792 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 18:20:37 +00:00
10bdce85a0 megaopus commit: (1) add __STD_(LIMIT|FORMAT)_MACROS to command line flags 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-17 16:24:22 +00:00
c685724c80 step editing now accessed via a context menu on MIDI track rec-enable buttons. along the way, fixed up confusion between set_rec_enable() and set_rec_enabled() methods in Route/Track/Diskstream
git-svn-id: svn://localhost/ardour2/branches/3.0@7482 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-24 16:40:56 +00:00
c11c01ef20 remove a bunch of uses of long (mostly replaced by int32_t)
git-svn-id: svn://localhost/ardour2/branches/3.0@7472 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-22 16:08:11 +00:00
Carl Hetherington
648a169d8f Move MIDI control port ownership into the MIDI Manager, since control port state should be Ardour-wide, not per-session. Fix up port connection state management.
git-svn-id: svn://localhost/ardour2/branches/3.0@7394 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-08 22:55:20 +00:00
Carl Hetherington
10ef65b696 Transmit MTC on playhead drag, as per #3239.
git-svn-id: svn://localhost/ardour2/branches/3.0@7389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-07 23:48:46 +00:00
Carl Hetherington
ea23298f10 Setup fixed ports for MIDI control data; hence remove configuration of those ports. Move MIDI tracer to the Windows menu. Trim some unused code from the midi++ Manager.
git-svn-id: svn://localhost/ardour2/branches/3.0@7384 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-07 00:40:58 +00:00
Carl Hetherington
bde4d3f341 Fix up my previous buggy MMC cleanup.
git-svn-id: svn://localhost/ardour2/branches/3.0@7363 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-03 00:11:33 +00:00
601dc846da fix assumption that Session::_mmc != 0
git-svn-id: svn://localhost/ardour2/branches/3.0@7349 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-01 15:03:49 +00:00
Carl Hetherington
9469d6b26a Clean up MMC transmission a bit, and make sure that it is all done from one thread.
git-svn-id: svn://localhost/ardour2/branches/3.0@7324 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-29 13:47:53 +00:00
f1fc47b077 MTC drift patch from robin gareus, plus two related cleanups to the tracer & debug messages
git-svn-id: svn://localhost/ardour2/branches/3.0@7255 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-12 16:11:33 +00:00
f85161c5d0 "Ardour" -> PROGRAM_NAME change for libardour and setup for gtk2_ardour
git-svn-id: svn://localhost/ardour2/branches/3.0@6757 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-13 19:22:34 +00:00
325671e20a how about that ... a monitor/main section .. GUI is still unfinished .. several small fixes to processor loading/listen mgmt and a few debug output lines rmeoved. knob images are provisional, and can be found in icons/knob.png and related files
git-svn-id: svn://localhost/ardour2/branches/3.0@6744 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-10 17:31:16 +00:00
de68d70b44 fix transmission of MTC so that we don't send while slaved to MTC
git-svn-id: svn://localhost/ardour2/branches/3.0@6604 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-01 03:35:41 +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
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
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
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
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
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
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
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
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
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
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
2ad2792bcb rework MTC slave so that speed is computed in the MIDI I/O context, not process() context
git-svn-id: svn://localhost/ardour2/branches/3.0@6233 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 01:08:56 +00:00
acdc88f279 attempt to remove confusion and errors caused by unclear semantics of _is_embedded for FileSources; member renamed _within_session, and is now ALWAYS determined by the _path of the FileSource, never by the creator
git-svn-id: svn://localhost/ardour2/branches/3.0@6213 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-30 13:16:38 +00:00
e9c1fe206d MMC related fixes
git-svn-id: svn://localhost/ardour2/branches/3.0@6192 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-28 00:39:03 +00:00
a65149b246 lots of tweaks relating to GUI sync management
git-svn-id: svn://localhost/ardour2/branches/3.0@6051 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-10 04:30:08 +00:00
498dfebcca 90% done with external sync design changes (GUI now has toggle switch for ext/int sync; source chosen separately, currently in ardour prefs dialog ; fix libmidi++ and compilation scripts to correctly build JACK+ALSA support; minor contiuing tweaks on transport stuff
git-svn-id: svn://localhost/ardour2/branches/3.0@6048 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-09 20:05:18 +00:00
fa5aeb7892 change the use of "SMPTE" to "Timecode" to reflect the global economy and the end of american dominance on the world audio production stage
git-svn-id: svn://localhost/ardour2/branches/3.0@5924 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-26 14:38:58 +00:00
bb9cc45cd2 Strip trailing whitespace and fix other whitespace errors (e.g. space/tab 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-14 16:10:01 +00:00
Carl Hetherington
b65f8073ba Fix some unused parameter warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21 15:55:17 +00:00
Carl Hetherington
015fc7b39f First stage of options rework.
- Split Configuration into RCConfiguration and SessionConfiguration;
the first for options which are saved to .rc files and the second
for options which are saved in a session file.

- Move some options from the old `master' Configuration object into
SessionConfiguration; this needs more refinement.

- Reflect many RCConfiguration options in an expanded Edit->Preferences
dialog; my intention is to remove the corresponding menu items
eventually.



git-svn-id: svn://localhost/ardour2/branches/3.0@5075 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-14 00:13:27 +00:00
e0aaed6d65 *** NEW CODING POLICY ***
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-25 18:26:51 +00:00
1f9c3f34d9 Fix MIDI controller feedback.
Make control surfaces menu less weird.


git-svn-id: svn://localhost/ardour2/branches/3.0@4625 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-18 20:53:54 +00:00
bc89fe0147 most of the 2.X->3.0 commit (up to rev 4299) except for gtk2_ardour/editor_canvas.cc; builds and runs and does a few specific things but expect it to be buggy for a while yet
git-svn-id: svn://localhost/ardour2/branches/3.0@4313 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-12 14:43:24 +00:00
Hans Baier
fd824717a7 * fixed jitter problems for midi clock and removed superfluous UI elements
git-svn-id: svn://localhost/ardour2/branches/3.0@4008 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-25 08:28:10 +00:00