13
0
Commit Graph

10636 Commits

Author SHA1 Message Date
nick_m
d9dea0a3aa rename Region pos_beats -> quarter_note 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
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
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
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
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
b116a68a5c C++ implementation of fan_out_instrument.lua 2016-11-10 04:54:59 +01:00
b63af3162e Set session dirty if tracks are reordered by user. 2016-11-07 08:29:34 -08:00
932cc4d347 One more piece to the moving master puzzle. 2016-11-06 21:59:33 -08:00
1457050d7a Fix Drifting Master hopefully for real this time. 2016-11-04 08:39:41 -07:00
da32ae4e1f prevent infinite loop when calculating tick marks on low zoom levels 2016-11-02 17:54:24 +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
cfafb01b32 GUI support for plugin provided midnam 2016-10-29 19:57:43 +02:00
01747f54d8 Prevent duplicate moves when selecting regions on shared playlists
selecting regions on multiple tracks which share playlists and
dragging them has various odd side-effects. This prevents the worst
of such edge-cases.

A cleaner solution would be to not allow selecting the same region
on multiple tracks at the same time in the first place.

Comments are welcome.
2016-10-27 03:33:51 +02:00
nick_m
24846f478b clean up ghost note wrt create drag.
- hide ghost note when add dragging.

	- new note length snaps as per ghost note start (shifted snap).

	- prevent ghost note from appearing before region start.
2016-10-26 04:52:09 +11:00
7df9917a11 minor code-tidying tweak - continue if port handle is null, rather than nest inside conditional 2016-10-21 16:31:16 -04:00
259f049adc Track Insert/Remove Time dialog:
Disambiguate "glued" -> glued-to-musical-time (MIDI) regions.
 *Users didn't know that this is necessary to operate on MIDI regions.
2016-10-20 16:18:19 -05:00
9e5811d13e Track Insert/Remove dialog improvements:
By default, enable glued regions and markers.
 If you are removing time, you probably want MIDI regions to move.
2016-10-20 16:02:18 -05:00
9a9a9f9eac Track Add/Remove Time dialog improvements:
Add a clock to show the position of the edit, to remove ambiguity
 If a Range is selected, pre-fill the position and length clocks
 Clock format should default to the editor's secondary clock mode
2016-10-20 16:02:18 -05:00
4925967560 use new API for user-provided MIDI port information 2016-10-20 16:34:52 -04:00
b85ca20123 GUI tweaks for MIDI port options 2016-10-20 16:34:52 -04:00
nick_m
343136c728 InsertRemoveTimeDialog initially ignores mouse edit position. also do this for distance calculation. 2016-10-21 02:50:35 +11:00
nick_m
99fbdee0d8 bbt duration clock tweak. 2016-10-21 02:49:04 +11:00
9acc282f65 MIDI port options now tracks dynamic port register/unregister 2016-10-20 10:21:44 -04:00
fbf65998c8 various tweaks to improve the preferences presentation of midi-input-follows-selection 2016-10-19 22:35:05 -04:00
8d922fe63b need to refill treeviews for MIDI port prefs at least once 2016-10-19 17:49:35 -04:00
05bc96f4d2 move MIDI port options out of engine dialog and into prefs 2016-10-19 17:49:35 -04:00
nick_m
3fa9dd51b2 bbt duration clock - revert 3d38b4f58e and a32aea4201. use an alternate fix. 2016-10-20 03:40:06 +11:00
nick_m
3d38b4f58e Duration clock edit uses current time to resolve meter.
- should fix the remaining part of #7072
2016-10-19 23:09:24 +11:00
86106bcfa1 set up MIDI port treeview columns *just once* 2016-10-18 21:18:32 -04:00
7a79a9da9a correctly show both the old MIDI setup tab (device oriented) and the new one (port oriented) 2016-10-18 18:14:00 -04:00
8357775fbb further work on a MIDI port functionality dialog 2016-10-18 18:01:03 -04:00
e6ff4d8455 Add tooltip info for inline-display 2016-10-18 23:40:14 +02:00
1d39500e64 beginnings of a tab in Audio/MIDI setup to manage MIDI port functionality 2016-10-18 16:56:35 -04:00
c74ce58d1a remove unnecessary and now impossible #include 2016-10-18 16:56:28 -04:00
9c98e577d0 remove unusued and useless midi_port_dialog.{cc,h} files 2016-10-18 16:53:54 -04:00
389cacab11 Processor box interaction:
Allow to toggle inline display with tertiary + double-click.
also fix tooltip and fix inconsistent modifiers on inline display.
2016-10-18 22:26:23 +02:00
nick_m
115bc84c27 Tempo lines drawing performance tweak. 2016-10-19 05:56:26 +11:00
nick_m
f8d5a6b3b6 Tempo line tweaks.
- ensure lines don't get too dense in the all bars case.

	- never draw tick divisions in the all bar case.
2016-10-19 05:10:15 +11:00
nick_m
715b178130 Improve bbt ruler drawing performance for large time ranges.
- when the timeline displays many bars, zoom/autoscroll
	  speed is improved by calculating the bbt ruler scale first
	  then requesting a suitably scaled grid.
2016-10-19 03:56:43 +11:00
551eea452b remove unused variable 2016-10-17 21:35:00 +02:00
a127cb35b5 propagate key press events through the widget heirarchy + custom ardour bindings, not just focus widget-then-global bindings 2016-10-17 13:30:15 -04:00
39cad9ac00 fix typo + remove cruft. 2016-10-17 17:57:11 +02:00
7e5e95d7db refine 29f604418, move selected track to left-edge (if possible) 2016-10-16 21:27:30 +02:00
nick_m
1c9dbb5242 Amend previous commit. 2016-10-17 04:33:48 +11:00
nick_m
2359a0b2fa Set note colour of new MidiGhostRegions corrctly. 2016-10-17 04:23:43 +11:00