13
0
Commit Graph

47 Commits

Author SHA1 Message Date
Carl Hetherington
1238f09478 Use DEBUG_TRACE for all of the MIDI clock ticker code.
git-svn-id: svn://localhost/ardour2/branches/3.0@8264 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14 01:05:51 +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
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
Carl Hetherington
4885f29be1 Trim midi++ port code to either do in or out, but not both in the same object.
git-svn-id: svn://localhost/ardour2/branches/3.0@7391 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-08 01:00:46 +00:00
Carl Hetherington
91850f0eb4 Remove non-JACK midi++ ports.
git-svn-id: svn://localhost/ardour2/branches/3.0@7377 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-06 00:16:36 +00:00
c07888e6ac switch MIDI Clock slave code to use DEBUG_TRACE; don't make it require start/stop messages (to be finished later) and don't locate to zero when starting
git-svn-id: svn://localhost/ardour2/branches/3.0@6605 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-01 03:36:29 +00:00
Hans Baier
706d6e8ff0 MIDClock_Slave: Introduce a 3% deadzone around speed 1.0 to lock in the speed
git-svn-id: svn://localhost/ardour2/branches/3.0@6593 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-29 16:07:40 +00:00
Hans Baier
43e15be62f MIDIClock_Slave: decrease default filter bandwith to make it wobble less
git-svn-id: svn://localhost/ardour2/branches/3.0@6590 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-29 07:26:22 +00:00
Hans Baier
8ee52628fc midi_clock_slave: enable debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@6588 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-29 05:18:16 +00:00
Hans Baier
d4251508a3 MIDIClock_SlaveTest: refactor as subclass of MIDIClock_Slave for testability
git-svn-id: svn://localhost/ardour2/branches/3.0@6587 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-29 05:18:10 +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
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
ff122d0fe8 monster commit: transport mgmt changes from 2.X (omnibus edition); make slave use nframes64_t ; avoid crashes in Drags when commiting reversible transactions that do not exist
git-svn-id: svn://localhost/ardour2/branches/3.0@6034 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-08 16:28:21 +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
Hans Baier
379b19cfdc midi clock slave: refactor for testability
git-svn-id: svn://localhost/ardour2/branches/3.0@5219 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-20 13:39:49 +00:00
Carl Hetherington
3b89d9eaa0 Remove most using declarations from header files.
git-svn-id: svn://localhost/ardour2/branches/3.0@5069 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-12 17:03:42 +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
Hans Baier
e9fde9baa7 * second part of the last fix
git-svn-id: svn://localhost/ardour2/branches/3.0@4549 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 07:21:01 +00:00
Hans Baier
90ee153fc1 * fix concerning a comment on issue 2541: Go back to the last MIDI beat on stop
git-svn-id: svn://localhost/ardour2/branches/3.0@4548 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-14 07:18:38 +00:00
Hans Baier
0800b59f61 * MIDIClock_Slave: fixed bugs:
- not synced to session.audible_frame() but to session.transport_frame()
	- failed asserts in song position


git-svn-id: svn://localhost/ardour2/branches/3.0@4543 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-13 08:29:01 +00:00
Hans Baier
bb1aa327f8 * MIDIClock_Slave: Fix for devices that always send MIDI clock (not just between start/stop)
git-svn-id: svn://localhost/ardour2/branches/3.0@4542 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-13 08:28:54 +00:00
Hans Baier
b1cd183511 * MIDI clock slave: issues 2541 and 2542 ready for testing (cant test myself due to lack of hardware)
* tempo.cc/tempo.h: formatting / whitespace


git-svn-id: svn://localhost/ardour2/branches/3.0@4538 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-12 10:14:22 +00:00
Hans Baier
799b6ec97d * changed transport speed in session and slaves from float to double
* added some comments


git-svn-id: svn://localhost/ardour2/branches/3.0@4394 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-09 09:18:24 +00:00
Hans Baier
780b753639 * corrected copyright information
git-svn-id: svn://localhost/ardour2/branches/3.0@4388 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-05 23:58:48 +00:00
Hans Baier
ea54d26111 *fixed typo
* set copyright to Hans Baier for midi_clock_slave.cc


git-svn-id: svn://localhost/ardour2/branches/3.0@4387 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-05 18:43:22 +00:00
Hans Baier
5f5a570e50 * MIDI clock slave implementation with delay locked loop (DLL) seems to work well
* added option to class Slave / Session::process that a slave can have total control over transport speed


git-svn-id: svn://localhost/ardour2/branches/3.0@4385 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-05 09:15:08 +00:00
Hans Baier
495585db93 *fixed bug in MidiClock_Slave: Use current framerate for speed calculations
git-svn-id: svn://localhost/ardour2/branches/3.0@4371 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-01 21:26:28 +00:00
Hans Baier
d39b425a6a * radically cleaned up / refactored midi_clock_slave.cc
* debug statements in session_process.cc and midi_clock_slave.cc as
  conditional compilation instead of comments


git-svn-id: svn://localhost/ardour2/branches/3.0@4366 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-01 11:00:18 +00:00
Hans Baier
b1f8caa54f * made MidiClock_Slave conform more to to the Spec by starting transport
on the first MidiClock Message after the start Message
* removed debugging output from session_process.c
* fixed bug: calculate a more sensible speed value on transport start
* fixed typos in Slave docs
* refactored MidiClock_Slave for better readability
* made MidiClock_Slave react to continue messages


git-svn-id: svn://localhost/ardour2/branches/3.0@4365 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-01-01 06:52:18 +00:00
Sakari Bergen
ca21a5ac7b Wrap some Jack_MidiPort stuff in #ifdefs to solve dylib errors on OS X
git-svn-id: svn://localhost/ardour2/branches/3.0@4361 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-30 19:44:24 +00:00
Hans Baier
146d60214c * Enabled debugging output for start/stop messages on MidiClockSlave
git-svn-id: svn://localhost/ardour2/branches/3.0@4107 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-11-07 20:37:27 +00:00
Hans Baier
6abd152d17 * removed unnecessary method calls (preparse/postparse) in JACK_MidiPort
* Changed calculation of current speed and transport position to double to avoid accumulating rounding errors

git-svn-id: svn://localhost/ardour2/branches/3.0@4106 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-11-07 20:31:05 +00:00
Hans Baier
4c90724d2d * got MIDI clock working really smoothly (29 frames until sync, ardour transport jitter 1 frame)
* removed debugging output


git-svn-id: svn://localhost/ardour2/branches/3.0@4032 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-30 06:07:00 +00:00
Hans Baier
75e9180800 * added documentaion to libs/ardour/slave.h
* first roughly working midi clock slave


git-svn-id: svn://localhost/ardour2/branches/3.0@4025 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-29 07:17:07 +00:00
Hans Baier
0a60b4f530 got MIDI Clock slave closer to functioning properly:
- Cleaned up the class
  - calculating (kind-of) sensible speed and position values
  - fixed resolution (quick-fix)
  - fixed requires_seekahead (set to false)
  - fixed locked (set to true)


git-svn-id: svn://localhost/ardour2/branches/3.0@4018 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-27 06:49:41 +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
Hans Baier
68d8f26dc4 * this implementation of midi_clock_slave is still sort of a proof of concept, but it reveals interesting issues and is better than the code before
git-svn-id: svn://localhost/ardour2/branches/3.0@3969 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-10-14 19:13:39 +00:00
Hans Baier
025f7a1c69 * enabled moving averages again... plays much nicer in a realtime setup
* disabled excessive tracing

git-svn-id: svn://localhost/ardour2/branches/3.0@3668 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-07 04:03:17 +00:00
Hans Baier
1d015715a5 * I probably better should consult the nominal frame rate to calculate ppqn intervals
git-svn-id: svn://localhost/ardour2/branches/3.0@3666 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-06 23:47:21 +00:00
Hans Baier
0d077ee676 * I dont know whether this works, but I'll commit it anyway
git-svn-id: svn://localhost/ardour2/branches/3.0@3665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-06 23:35:15 +00:00
Hans Baier
ce38b9cfc5 * forgot to remove those lines
git-svn-id: svn://localhost/ardour2/branches/3.0@3664 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-06 23:03:02 +00:00
Hans Baier
e5dc9734eb * removed rolling speed average from MIDIClockSlave, ardour seems to keep time now
git-svn-id: svn://localhost/ardour2/branches/3.0@3663 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-06 22:57:45 +00:00
Hans Baier
8164a0992d * fixed JACK_MidiPort to get the events into the slave
git-svn-id: svn://localhost/ardour2/branches/3.0@3662 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-06 22:22:35 +00:00
Hans Baier
6954080ce1 * forgot to add the midi clock slave cc file
git-svn-id: svn://localhost/ardour2/branches/3.0@3653 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-08-05 00:14:03 +00:00