13
0
Commit Graph

22681 Commits

Author SHA1 Message Date
nick_m
33e95a1577 rename Tempo _beats_per_minute to _note_types_per_minute, provide pulse helpers.
- adds quarter_notes_per_minute(), note_divisions_per_minute (double)
	  pulses_per_minute() and frames_per_quarter_note()

	- this should be a no-op except for the use of tempo by
	  the vst callback which definitely uses quarter notes per minute.

	- the XML node for TempoSection named 'beats-per-minute'
	  has been renamed.
2016-11-11 03:37:08 +11:00
nick_m
e52f90357e tempo doc explains that currently Tempo::beats_per_minute means something else.
- Tempo beats_per_minute() is currently implemented as note types per minute.
	  a further patch will change Tempo to reflect this and provide some helpers.
2016-11-11 03:37:08 +11:00
nick_m
2f593e3af9 remove commented code. 2016-11-11 03:37:08 +11:00
nick_m
9df27844fc more tempo documentation. 2016-11-11 03:37:08 +11:00
nick_m
5788f42438 fix lock error in empoMap::quarter_note_at_bbt_rt(), expand constant tempo test. 2016-11-11 03:37:08 +11:00
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
1d540605ac clamp setting tempo via vertical drag.
- a bit suboptimal. we really need the opposite of _trackview_only
	  to prevent jumping to track canvas scrolled coordinates in the first place.
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
ae63243bf3 Revert "update lua script to follow API change (bb459a2e7d)"
This reverts commit f09e9347e1.
because the new-midi branch wasn't merged, yet
2016-11-10 17:32:19 +01:00
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
8b5fad0cf9 Use better debug output in PortaudioBackend
When failing to open audio stream in callback mode
2016-11-10 15:23:43 +10:00
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
8520312f97 Check and link to the pangoft2 module with a mingw build if it exists
This is necessary when pango has been built without all modules included as
bundle_env_mingw.cc uses a function from the pango module and results a linker
error:

bundle_env_mingw.cc:114: undefined reference to `pango_ft2_font_map_get_type'

Minimum pango version is taken from the official build scripts.
2016-11-10 15:23:43 +10:00
781d88e4ed Add AU support for output-channel/bus grouping 2016-11-10 05:02:31 +01:00
e34f8dbf1e don't ship fan-out instrument lua script (but keep it as example) 2016-11-10 04:55:03 +01:00
b116a68a5c C++ implementation of fan_out_instrument.lua 2016-11-10 04:54:59 +01:00
d253d49739 NO-OP, explanatory comments 2016-11-10 01:45:00 +01:00
ce77df24ca prototype script to fan out instrument outputs to busses 2016-11-10 01:32:08 +01:00
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
ef3fa314f0 Parse PortGroups into Plugin::IOPortDescription 2016-11-10 01:31:56 +01:00
a369db5600 another lua DSP example 2016-11-09 13:06:01 +01:00
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
72297c0ca3 Remove dead code 2016-11-08 13:52:44 -05:00
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
6fb099a88b make auto track naming make a bit more sense 2016-11-07 11:08:00 -08:00
b63af3162e Set session dirty if tracks are reordered by user. 2016-11-07 08:29:34 -08:00
ea10a896c6 Fix LV2 state:StateChanged URI 2016-11-07 07:10:08 -05:00
932cc4d347 One more piece to the moving master puzzle. 2016-11-06 21:59:33 -08:00
91c2527f5c OSC: Fix default strip types to include Auxes. 2016-11-04 12:10:37 -07:00
1457050d7a Fix Drifting Master hopefully for real this time. 2016-11-04 08:39:41 -07:00
8fb8e1bbde make ControlProtocolManager actually handle control protocols that fail to activate 2016-11-03 20:24:09 +00:00
3abdef2637 fix LTC-generator 24h wraparound 2016-11-02 19:24:46 +01:00
da32ae4e1f prevent infinite loop when calculating tick marks on low zoom levels 2016-11-02 17:54:24 +01:00
f09e9347e1 update lua script to follow API change (bb459a2e7d) 2016-10-31 15:27:25 +01:00
77c9106769 OSC: Make Aux buses able to be separate. 2016-10-30 17:50:38 -07:00
3f0130f8ea Fix crash when instrument instantiation fails on track creation. 2016-10-31 00:35:53 +01:00
a994fd30bd extend Mixbus' "Safe Mode" 2016-10-30 22:25:18 +01:00
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
2a0aadfd97 remove debug output 2016-10-30 17:39:55 +01:00
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
9773cfa926 Drop UpdateMidnam shared_ptr reference when the plugin is removed 2016-10-30 17:39:55 +01:00
997b48baf7 Fix moving master 2016-10-30 06:48:05 -07:00
0ea9270a4b avoid C++11 (and remove debug output) 2016-10-30 04:51:31 +01:00