Commit graph

12400 commits

Author SHA1 Message Date
nick_m
93ca7b42fb remove unused TempoMap::tempo_at_beat(). implement unused tempo_at_quarter_note(). 2016-11-11 03:37:08 +11:00
nick_m
99e707217b tempo.h reorganization. should be a no-op 2016-11-11 03:37:08 +11:00
nick_m
9674b15358 more documentation in tempo.cc, fix constant bug in pulse_at_tempo_locked() 2016-11-11 03:37:08 +11:00
nick_m
1fa7c0d829 remove remaining frame api from TempoSection. 2016-11-11 03:37:08 +11:00
nick_m
594137f5cc remove public pulse methods from TempoMap.
- the only object whose musical position is not expressed in
	  quarter notes is MetricSection.
	  there is now no need to expose this.
2016-11-11 03:37:08 +11:00
nick_m
3db68b4f9e add some documentation for TempoMap. 2016-11-11 03:37:08 +11:00
nick_m
dca96d8b5d rename Region pulse to pos_beats. use new beat distance api where required.
- add more debugging output detecting regions whose
	  beat and frame position do not align on a playlist.
	  this is required as a check as we have never used
	  frame rounding on constant tempi before 8884a5723dc
2016-11-11 03:37:08 +11:00
nick_m
ac23496b40 MidiRegion _start/_length beats are frame based only when lock style is Audiotime 2016-11-11 03:37:08 +11:00
nick_m
0e867b544b Refactor tempo api, include quarter-note distance in frames method.
- moves frame rounding up to TempoMap, which is needed
	  in order to calculate pulse distance without frame rounding.

	- the time unit for tempo is still minute, but this now also
	  applies to meter sections. (new audio locked meter sections no
	  longer require a frame position).

	- there is no longer a discontinuity
	  in the pulse for audio-locked meter/tempi.

	- temporarily add debugging output in Region::set_position()
	  to test for region beat not matching region frame.
2016-11-11 03:37:08 +11:00
John Emmas
ec12fccf08 #include <ardour/midi_cursor.h> in a couple of places
I'm not entirely sure why it's needed in 'smf_source.cc' but MSVC fails to link the compiled module if I don't #include it ?!?
2016-11-10 12:20:53 +00:00
Tim Mayberry
8b5fad0cf9 Use better debug output in PortaudioBackend
When failing to open audio stream in callback mode
2016-11-10 15:23:43 +10:00
Tim Mayberry
ed09a68f24 Fix for conflicting definition of _xgetbv with mingw-w64 >= 5
Simplify the #ifdef logic so it is easier to follow and add exceptions in the
future if necessary.
2016-11-10 15:23:43 +10:00
Robin Gareus
781d88e4ed Add AU support for output-channel/bus grouping 2016-11-10 05:02:31 +01:00
Robin Gareus
d253d49739 NO-OP, explanatory comments 2016-11-10 01:45:00 +01:00
Robin Gareus
da937cf1a4 Grow luabindings
* expose Route IOs, Panner and Instrument
* add plugin + processor ChanCount
* bind IOPortDescription
* remove Port::**(Port*) API because there's no Port* but only
boost::shared_ptr<Port>
2016-11-10 01:32:02 +01:00
Robin Gareus
ef3fa314f0 Parse PortGroups into Plugin::IOPortDescription 2016-11-10 01:31:56 +01:00
David Robillard
c61373212a Support multiple readers for MIDI source/model
Fixes the multiple reader issue #6541 properly without resorting to a
linear search kludge.

All the read state has been pulled out into a MidiCursor which the
caller is required to pass.  The playlist keeps cursors for all the
regions it is reading, any number of cursors are allowed at a time.

MidiCursor should probably be made a smarter and more fool-proof
object (and/or possibly merged with some of the other tracker/fixer
stuff) but for now I wanted to keep it simple.
2016-11-08 20:34:45 -05:00
David Robillard
72297c0ca3 Remove dead code 2016-11-08 13:52:44 -05:00
Robin Gareus
5438c94765 Honor VST "Synth" Category for now...
..until we find a backwards compatible way to save/load effFlagsIsSynth
in the cache info files.
2016-11-08 13:30:09 +01:00
Len Ovens
6fb099a88b make auto track naming make a bit more sense 2016-11-07 11:08:00 -08:00
David Robillard
ea10a896c6 Fix LV2 state:StateChanged URI 2016-11-07 07:10:08 -05:00
Len Ovens
91c2527f5c OSC: Fix default strip types to include Auxes. 2016-11-04 12:10:37 -07:00
Paul Davis
8fb8e1bbde make ControlProtocolManager actually handle control protocols that fail to activate 2016-11-03 20:24:09 +00:00
Robin Gareus
3abdef2637 fix LTC-generator 24h wraparound 2016-11-02 19:24:46 +01:00
Len Ovens
77c9106769 OSC: Make Aux buses able to be separate. 2016-10-30 17:50:38 -07:00
Robin Gareus
3f0130f8ea Fix crash when instrument instantiation fails on track creation. 2016-10-31 00:35:53 +01:00
Robin Gareus
a994fd30bd extend Mixbus' "Safe Mode" 2016-10-30 22:25:18 +01:00
Robin Gareus
e08c80370c Fix midnam replacement:
Unloading before update may otherwise reset the patch to
generic midi (when the current patch is no longer available)
2016-10-30 21:24:26 +01:00
Robin Gareus
2a0aadfd97 remove debug output 2016-10-30 17:39:55 +01:00
Robin Gareus
db2d238cec Update prototype API (3f739738) for windows/dll compat
memory allocated by a .dll must be free()d by the given dll.
2016-10-30 17:39:55 +01:00
Robin Gareus
0ea9270a4b avoid C++11 (and remove debug output) 2016-10-30 04:51:31 +01:00
Robin Gareus
3f73973806 Prototype LV2 extension for plugins to provide Midnams 2016-10-29 19:57:43 +02:00
Robin Gareus
f8167ebe20 Prepare for the day when MTAV does no longer force-override InstrumentInfo 2016-10-29 19:57:43 +02:00
Robin Gareus
0332c127cd Allow to dynamically un/load Midnam Patches 2016-10-29 19:57:43 +02:00
Robin Gareus
06700cb2f4 Allow to construct a XML tree from a text buffer 2016-10-29 19:57:43 +02:00
Robin Gareus
5ed764178a Fix crash with empty patch-names.
An empty text will not produce a bounding box.
2016-10-29 19:57:43 +02:00
Robin Gareus
c5d4900ea4 a-fluidsynth: fix off-by one. Assign all MIDI channels if possible 2016-10-29 19:57:43 +02:00
Len Ovens
9d63002d2f OSC: Slow down data storm at surface refresh 2016-10-29 10:56:44 -07:00
Len Ovens
82d3842656 OSC: Add names/fader value to master and monitor. 2016-10-28 17:34:17 -07:00
Len Ovens
e631119092 OSC: simplify int sends too. 2016-10-28 15:05:40 -07:00
Len Ovens
d802c982cb OSC: More simplification - floats this time. 2016-10-28 14:42:56 -07:00
Len Ovens
4eb2da491f OSC: simplify Global feedback (remove repetitive code) 2016-10-28 13:45:30 -07:00
Robin Gareus
8de0788f7b yet another waf/HIDAPI tweak 2016-10-27 15:57:47 +02:00
Tim Mayberry
8d70b76059 Fix restoration of key bindings assigned to Windows+key, bug #7037
Windows key generates Mod4+Super (at least with the version of Gdk we use on
linux) so for bindings using the Windows key to work, GDK_SUPER_MASK has to be
added to modifier mask.
2016-10-26 12:03:17 +10:00
Robin Gareus
0e65852901 Desperate hack to align master-bus on export.
Another 90% solution which hopefully gives us another year :(
see comments Session::start_audio_export() for explanation.
2016-10-25 22:33:37 +02:00
nick_m
927b16aa53 don't mix framepos with quarter notes when calculating _start frames.
- quarter note precision is greater than the frame-based
	  _position. using it as a reference may cause a rounding error
	  if the region is locked to MusicTime.

	- also fixes a _start position bug when trimming midi regions.

	- we really need a better api for this kind of thing.

	- in combination with the previous two patches, this should fix
	  various missing first note issues.
2016-10-25 04:36:34 +11:00
nick_m
dfb0868847 make MidiRegion::start/length_beats() const. 2016-10-25 04:15:50 +11:00
nick_m
ce3ae4cdc9 remove unnecessary rounding from MidiSource::midi_read()
- we already have start_beats, so don't try to recalculate
	  something similar for the position comparison.
2016-10-25 04:14:14 +11:00
nick_m
20d02c4c68 expand on existing tempo tests. 2016-10-25 04:02:58 +11:00
nick_m
509d938b04 Don't recalculate region beat position on session load, fix AudioTime thinko. 2016-10-25 03:59:13 +11:00