Commit graph

11936 commits

Author SHA1 Message Date
Robin Gareus
35de5080a6 add signal for VST state load
MacVST has no dedicated VST event-loop to directly handle this.
2016-11-15 00:32:59 +01:00
Robin Gareus
f30fbcaaf9 Fix VST state-lock SNAFU (effSetChunk and process are exclusive) 2016-11-14 21:06:18 +01:00
Robin Gareus
8e3b6c9ac6 consolidate VSTState initialization 2016-11-14 21:06:18 +01:00
Robin Gareus
48c470d51d Pass const references to plugin-list 2016-11-14 21:06:18 +01:00
Robin Gareus
63f86b1314 Later code depends on prev_t not being NULL, use an assert() 2016-11-14 16:47:22 +01:00
Robin Gareus
e4e2d92649 tempo map cannot be empty (help static analyzer) 2016-11-14 16:47:19 +01:00
Robin Gareus
37137d5b3c fix LV2 state versioning with session-templates 2016-11-14 01:40:57 +01:00
Robin Gareus
1d60986283 const'ness FTW 2016-11-14 01:14:11 +01:00
Robin Gareus
8975f6c8d2 register some missing enums 2016-11-14 01:14:06 +01:00
Robin Gareus
aee2606b28 VST set defaults only once (initially)
Opening the generic plugin UI or re-opening the GUI will call
get_parameter_descriptor() again, and replace the defaults with
current values.
2016-11-13 18:48:33 +01:00
Robin Gareus
ec31741ee6 copy VST state on copy construction
This fixes issues with replicate instances & plugin-analysis instances
not using the same set of parameters.
2016-11-13 16:35:06 +01:00
Robin Gareus
8b93fb02f3 Mac VST-2.x support 2016-11-13 16:35:06 +01:00
Robin Gareus
43bd7f5db1 fix const-cast 2016-11-12 16:20:43 +01:00
Robin Gareus
a32a272709 VST buffer paranoia 2016-11-11 16:40:01 +01:00
nick_m
50d12abeab fix compilation on osx 2016-11-11 21:35:13 +11:00
Robin Gareus
2f8ccb5732 Remove a group when the last track in the group is removed 2016-11-10 23:57:47 +01:00
John Emmas
ddd79819dc Correct the #includes for 'ardour/midi_cursor.h' (see commit #ec12fccf08)
There are a couple of header files where we use a reference to class ARDOUR::MidiCursor (rather than a pointer). To keep MSVC happy we need to #include its header file, rather than simply using a forward reference.
2016-11-10 19:31:26 +00:00
nick_m
bf416cb91e remove debugging output 2016-11-11 03:37:08 +11:00
nick_m
425fe93fde remove unused variable and debugging. 2016-11-11 03:37:08 +11:00
nick_m
d9dea0a3aa rename Region pos_beats -> quarter_note 2016-11-11 03:37:08 +11:00
nick_m
3816ee4e92 more tempo documentation. 2016-11-11 03:37:08 +11:00
nick_m
4e41b71a4e ensure non-zero midi region length when tempo map changes. 2016-11-11 03:37:08 +11:00
nick_m
a5dc7a01d3 TempoSection note-types-per-minute node name goes back to beats-per-minute for now. 2016-11-11 03:37:08 +11:00
nick_m
e8042f5843 use note_type explicitly when constructing a Tempo in the hope that others follow.
- should be a no-op
2016-11-11 03:37:08 +11:00
nick_m
5aafb0b534 remove recently added xml nodes. 2016-11-11 03:37:08 +11:00
nick_m
43f79cb00c use frame interval api for empoMap::framepos_plus_qn() 2016-11-11 03:37:08 +11:00
nick_m
35ec9b33cf clarify bbt_at_frame() warning. 2016-11-11 03:37:08 +11:00
nick_m
b025f8e42a rename note_divisions_per_minute -> ote_types_per_minute (double note_type) 2016-11-11 03:37:08 +11:00
nick_m
0b7db6ebbb add empoMap::quarter_notes_between_frames().
- in an ideal world, this wouldn't be here at all,
	  but is required to support framewalk_to_qn().
	  if Beats are at tick resolution, the frame-induced
	  temporal rounding is acceptable.
2016-11-11 03:37:08 +11:00
nick_m
a432f6585c TempoSection::tempo_at methods return a Tempo, document the opposite direction. 2016-11-11 03:37:08 +11:00
nick_m
3ee59cf499 audio units uses quarter_notes_per_minute(). 2016-11-11 03:37:08 +11:00
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
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