13
0
Commit Graph

10285 Commits

Author SHA1 Message Date
3c99ab0fb9 more compact generic knob-ui layout 2016-07-12 04:02:33 +02:00
10d11e0544 add _FrnchFrgg_ to credits 2016-07-11 18:57:04 +02:00
2f535e3410 fix OSX compilation (flat namespace)
reference to 'Rect' is ambiguous
..../CarbonCore.framework/Headers/MacTypes.h defines
typedef struct Rect
2016-07-11 13:42:42 +02:00
1a59019d33 tweak generic plugin knob-widgets
remove label, use tooltip (saves space, more compact layout)
2016-07-11 03:46:33 +02:00
d43d220f1f extend ArdourKnob ToolTips
allow to set/change tooltip-prefix and set a "printer" in preparation
for properly using the Knob in Plugin UIs
2016-07-11 03:45:13 +02:00
nick_m
b8a7ee001b Fix potential infinite loop in TempoCurve::set_position()
- it was previously possible for frame_step to be zero for tempo sections with
	  a short duration, resulting in endlessly adding 0 to current_frame.
2016-07-11 03:53:36 +10:00
7745a37394 NO-OP whitespace 2016-07-10 15:59:50 +02:00
140258d8ab remove reference "const int32_t&" -> const int32_t"
this simplifies lua-bindings and also let's the compiler worry about
constant primitive types.
2016-07-10 15:30:41 +02:00
8ff46aa9c6 re-layout import dialog (better fit for narrow screens)
The instrument dropdown can be very wide (depending on available synths)
and combined with other dropdowns and the copy-checkbox in a single row,
the min. width was well above 1400px.
2016-07-10 14:08:24 +02:00
9389ee1e96 Better heuristics for guessing the primary type of an input or output
In order to choose which port name to display (if any) in the button,
MixerStrip::update_io_button() first chose a primary type for the input
or output. It was AUDIO in all cases, except if the route was a
MidiTrack where the primary type was MIDI.

In the latter case, it enabled the following code of update_io_button()
to show the MIDI sources feeding the MidiTrack rather than showing an
unhelpful dash.

But this simple heuristic has several shortcommings:
 - Going further, tracks and busses will probably loose strong types so
   the approach is not future-proof;
 - It doesn't take midi busses into account, yet there is no reason for
   them to be handled differently than midi tracks;
 - It falls short when the midi track contains a synthesiser and is
   meant to output audio.

Improve the heuristics by choosing the data type as follows:
 A) If there are connected audio ports, consider audio as primary type.
 B) Else, if there are connected midi ports, consider midi as primary type.
 C) If there are audio ports, consider audio as primary type.
 D) Else, if there are midi ports, consider midi as primary type.

These new heuristics give the same results for audio tracks and busses
(whose audio inputs have not been removed), and the same result for the
input of midi tracks (again, provided the inputs have not been tampered
with). It improves the situation for inputs of midi busses, and output
of midi tracks and busses, especially when synthesisers are in use.
2016-07-09 21:08:16 +02:00
35b4cb91d2 update_io_button: store input() or output() in a variable
This avoids repeating "if (for_input)" checks.
2016-07-09 21:08:16 +02:00
nick_m
0e2ed90cfc Revert incorrect 'optimisation' from 4f7a4cd233.
- fixes regression in stacked layering display.
2016-07-10 02:18:38 +10:00
nick_m
23da9acf7e Minimise duplicate calls to CairoWidget::set_dirty() in the editor summary.
- many regions may be changed by one operation.
2016-07-10 02:18:38 +10:00
nick_m
a44c8b96ae Edit note dialog fixes.
- position display is session-relative

	- Add missing undo to note edit.
2016-07-10 02:18:38 +10:00
nick_m
5f0ab71989 Midi note resizing uses exact beat. 2016-07-10 02:18:38 +10:00
nick_m
11f002ddc4 Use exact beat when adding midi notes. 2016-07-10 02:18:38 +10:00
nick_m
99653ae2ca Simplify Editor::mouse_add_new_meter_event() a bit. 2016-07-10 02:18:38 +10:00
nick_m
0bdbe56cf1 Stop passing references to things that may disappear when a metric section is replaced. 2016-07-10 02:18:37 +10:00
nick_m
39b70ceced Check meter/tempo section exists in copy drag. 2016-07-10 02:18:37 +10:00
nick_m
180445c18c Indicate meter frame even when adding a music-locked meter from the gui. 2016-07-10 02:18:37 +10:00
nick_m
3ee7972069 AudioRegionView - don't do coverage frames unless we're in stacked mode. 2016-07-10 02:18:37 +10:00
nick_m
f65c592567 Editor region list only updates columns that have changed, 2016-07-10 02:18:37 +10:00
nick_m
89ea747943 Make bbt ruler visible in default session. 2016-07-10 02:18:37 +10:00
nick_m
9603233a68 Fix note trimming over tempo changes, correct note length properly when resizing midi region. 2016-07-10 02:18:37 +10:00
nick_m
13c851f3cf Restore earlier midi region trim display. 2016-07-10 02:18:37 +10:00
nick_m
447f9ee062 Exact beat for added regions. 2016-07-10 02:18:37 +10:00
nick_m
b732147676 Use Note::set (Rect) for speed improvement when rendering notes. 2016-07-10 02:18:37 +10:00
nick_m
39692eed66 Add Note::set (Rect) for optimisation purposes (minimise begin/end changes) 2016-07-10 02:18:37 +10:00
nick_m
71ed5865f5 Temporary work-around for note colour. 2016-07-10 02:18:37 +10:00
nick_m
db686cca38 Show correct bbt representation of region length in region list.
- fixes single-tempo assumption.
2016-07-10 02:18:37 +10:00
nick_m
7a6efaaf3d Quick fix to get trim working again (bahaving oddly during trim right now) 2016-07-10 02:18:37 +10:00
nick_m
32a579ec28 Fix ordering thinko in note selected colour. 2016-07-10 02:18:37 +10:00
nick_m
550f2925cc Performance - don't redisplay model immediately in MidiRegionView::enable_display ().
- allows MidiRegionView::reset_width_dependent_items () to do it
	  as intended (i think).
2016-07-10 02:18:36 +10:00
nick_m
e856615c75 Performance tweak - NoteBase doesn't recalculate colour as often.
- not sure if we can store this atm.
2016-07-10 02:18:36 +10:00
nick_m
3c1bc99df9 Improve midi model redraw performance by caching colours. 2016-07-10 02:18:36 +10:00
nick_m
6b0eadc62f Use mostly beat-based calculation for displayed midi note position. 2016-07-10 02:18:36 +10:00
nick_m
0e63fa65b5 Remove frame conversion for MidiRegionView::note_in_region_range(), speed up tempo dilation 2016-07-10 02:18:36 +10:00
nick_m
93c24e4433 Paste uses exact beats. rework _start_beats calculation in copy-with-offset ctor. 2016-07-10 02:18:36 +10:00
nick_m
94e0a15325 Exact beat - provide audio->music mapping for region split.
- for those not in the know, this series provides a way to
	  remove the temporal distortion introduced when using an
	  audio frame-based gui for music-locked objects.

	  In short, the gui uses an audio frame representation to move
	  objects. It displays the object using frame_at_beat(), quantizing
	  the time value to audio frames. This is fine until the user selects
	  that frame but expects it to be interpreted as a beat.
	  Thus beat_at_frame() would not produce the user-expected beat
	  (temporal quantization error of up to 0.5 audio samples).
	  This is one method of mapping audio time to music time accurately.
2016-07-10 02:18:36 +10:00
nick_m
2d5238d875 Make some musical operations on music-locked regions operate in beats.
- use exact beats to determine frame position.
	- see comments in tempo.cc for more.
	- this hasn't been done for split yet, but dragging and
	  trimming are supported.
2016-07-10 02:18:36 +10:00
bda5a4a4e6 fix incorrect behaviour of mixer strip [X] (hide) buttons 2016-07-08 14:42:54 -04:00
b382ad8b22 towards a generic plugin grid layout 2016-07-08 18:19:31 +02:00
77e50f56f9 first step to separate generic-gui layout 2016-07-08 18:19:31 +02:00
da0bd3d8a5 fix region action sensitivity issues.
Desensitize all region actions initially, and toggle that state
appropriately when region selection changes
2016-07-08 08:44:21 -04:00
d7caa89b96 implement LeatusPenguin's excellent idea for the plugin manager window (#6916) 2016-07-06 18:25:57 -04:00
6e469ffb5e merge MixerActor API (back) into Mixer_UI; make solo/mute/recenable actions there do the right thing 2016-07-06 15:20:42 -04:00
da7d7f9502 many changes associated with rationalizing selection flow 2016-07-06 13:39:10 -04:00
9ff94edd6e some comments 2016-07-05 23:49:58 +02:00
2f71967be2 fix crash when loading a saved visual state 2016-07-05 23:49:50 +02:00
412fcafda0 Plugin GUI activate/enable update (prefer enable) 2016-07-05 23:30:21 +02:00