13
0
Commit Graph

11564 Commits

Author SHA1 Message Date
f6061b32b2 fix code for ArdourButton so that an existing translation component to the cairo transformation matrix is honored correctly 2017-01-19 00:24:54 +01:00
ef64c7ba19 Promote the preroll_seconds config option to include musical time:
Interpret negative preroll time as bars
2017-01-18 23:47:50 +01:00
d650b3c292 prepare for musical-time preroll 2017-01-18 17:31:42 +01:00
6a486c0bf5 tweak table packing for more consistent spacing between buttons. 2017-01-18 10:33:38 -06:00
bc9b2f01f3 Shuffle the layout of new monitor section, so it is recognizably different than punch section; Standardize the button heights. 2017-01-18 10:33:38 -06:00
645402bc42 Add GUI action to record with preroll 2017-01-18 15:16:05 +01:00
cf31233cd1 Cleanup global monitor options:
- rely on parameter-changed signal emission to update buttons
- use dedicated button/style names
- improve tooltip
2017-01-18 12:25:02 +01:00
48da03e301 push sorted Stripable order back to PI (for control surfaces) 2017-01-18 05:14:48 +01:00
e8a4fe49b9 Add session option to enable count-in 2017-01-17 20:44:50 +01:00
b4ecb2525c Fix a -Wreorder 2017-01-16 22:30:39 +01:00
a9f0e218f5 Prepare generic spill ([mix]busses) 2017-01-16 22:30:26 +01:00
17d54a0d1c Configurable toolbar rec/punch & monitoring buttons 2017-01-16 21:58:53 +01:00
cf5a0de709 Add initial GUI support for global monitor states 2017-01-16 19:54:42 +01:00
1e03ad7336 setlocale(LC_MESSAGES) isn't valid when building with MSVC
In fact AFAICT it isn't supported by MinGW either (I've a feeling it probably isn't valid on Windows at all).
2017-01-16 13:44:23 +00:00
Hiroki Inagaki
777647259e Add Japanese translation 2017-01-15 15:37:38 +01:00
1570b6c088 consolidate --help text, allow to generate man page. 2017-01-14 23:07:44 +01:00
058f1cf9e1 Fix editor-mixer update when deleting a Route before a VCA
When deleting the last track before a VCA, on-delete the editor-mixer
switches to display the next TAV.  If that turns out to be a VCATAV,
the editor-mixer will ignore it and keep displaying the deleted route,
holding a shared pointer reference (ports won't be dropped, etc etc).
2017-01-13 08:43:18 +01:00
7841a75618 update alternate themes with automation-line-fill opacity 2017-01-12 15:21:21 -06:00
a869b39cd9 allow automation line fill opacity to be theme-able 2017-01-12 15:21:21 -06:00
008e51ed03 Minor tweak to bindings editor layout 2017-01-12 20:53:20 +01:00
d36f19ded9 Display name of conflicting keyboard binding 2017-01-12 20:53:20 +01:00
abe093dcc9 rename Bindings -> Keyboard Shortcuts 2017-01-12 11:51:43 -06:00
75c029f65f Support repeated jump-backward-to-mark while playing. 2017-01-12 11:51:43 -06:00
1e30ec7286 Add some explanatory text to the Quirks settings 2017-01-12 11:51:42 -06:00
8dff52ce01 Show plugin format in menu lists. Particularly important on Mac, where you might have both AU and VST formats of a plugin 2017-01-12 11:51:42 -06:00
c6464e9c34 Move some actions into the global group:
This allows common keyboard shortcuts from any Tab (Editor, Mixer).
Discuss: should those actions/methods also be moved to ArdourUI instead of
PublicEditor?
2017-01-12 18:22:56 +01:00
90202f7675 coverage frames must still be deleted when switching back to Overlay mode 2017-01-11 11:43:44 +00:00
d1e7a5bd1c Windows/Videotimeline: support all drives (no fixed docroot/drive-letter) 2017-01-11 03:55:04 +01:00
bbd7b2aeea Prepare for windows video support on all drive-letters.
* add harvid version detection (>= 0.8.2 is needed)
* special case empty docroot (for windows, pass drive-letter)
2017-01-10 22:38:43 +01:00
9ddf80225b Tweak TMM tooltip 2017-01-10 18:25:02 +01:00
522827577e Shrink preferences window when detached 2017-01-10 18:25:02 +01:00
7551f6941f never remove tracks from selection during a range drag 2017-01-10 15:18:00 +00:00
b64dcbb36f correctly display region sync points in the editor region list, when they change 2017-01-10 10:26:23 +00:00
1587364f8d avoid locate when clicking in region fade handles in smart mode+follow edits 2017-01-10 09:53:28 +00:00
82bea45b2b add some preference tooltips and related code consolidation 2017-01-10 10:39:22 +01:00
c906a59a3c Fix spacing for TC display 2017-01-10 10:39:22 +01:00
86e46ae41d Better fix for widgets that do not apply to master bus: leave them in place, but insensitive, to retain layout 2017-01-09 19:41:31 -06:00
69d043766f Revert "Remove the Solo+Iso buttons in the Master bus."
This reverts commit 7f280e2bed.
2017-01-09 19:07:36 -06:00
d3f2451ad0 Fix mixer scrolling 2017-01-09 20:14:44 +01:00
7f280e2bed Remove the Solo+Iso buttons in the Master bus. 2017-01-09 08:17:38 -06:00
fa828e0385 clamp values appropriately in AutomationLine::view_to_model_y()
Before this, drags from one automation track to another could add illegal/stupid values to an automation line. Presumably there needs to be another bounds check in ControlList
2017-01-09 12:41:49 +00:00
ef184b54f2 use reduced height for automation lines when firrst added, not just after a resizing 2017-01-09 12:29:24 +00:00
0006b50cec Tweak Preference label 2017-01-08 17:49:03 +01:00
94a57e64f6 fix route ordering (and related possible crash on re-order) 2017-01-06 18:41:51 +01:00
nick_m
2ca06335f7 amend 4cb009058 (if newly active tempo became last it had no curve) 2017-01-07 03:39:24 +11:00
nick_m
d855ad2856 rename TempoSection::c_func() -> c(). ensure constant tempi have this set to 0. 2017-01-07 01:27:06 +11:00
nick_m
4cb0090583 fix some inactive tempi bugs
- no tempo curve for inactive tempi

	- inactive and meter-locked tempi cannot be deleted.
2017-01-07 01:12:09 +11:00
bdb8cce6e3 Revert transport frame color in Ardour. But now its theme-able for those who are interested. 2017-01-05 17:41:40 -06:00
a5e0f1ff10 make entire transport bar have its own background, specifically themeable 2017-01-05 22:22:14 +00:00
ca9caa0394 Tweak spacings and layout of the Tempo+Meter dialogs. 2017-01-05 14:50:57 -06:00
7b3579bd4d Un-bunch the bunched-up Keybindings editor widgets. 2017-01-05 14:31:27 -06:00
58466b9019 disallow mini-timebar navigation when recording 2017-01-05 17:48:03 +01:00
1de2afa6c3 VCA number-label: match track/bus header behavior 2017-01-05 17:13:33 +01:00
4c7fcc11f7 Attempt to lighten the transport area slightly. A little help needed here, Paul 2017-01-05 10:01:22 -06:00
nick_m
fb91e62d4b tempo dialog disallows changing bbt position of a meter-locked tempo. 2017-01-06 02:56:01 +11:00
nick_m
3060a458eb allow importing tempo maps at selected position. 2017-01-06 02:14:17 +11:00
05c2e4ef9b Modify playlist option labels in Duplicate Track/Bus dialog
To indicate it is only copying the current "active" playlist and not all
playlists as discussed on IRC some time ago.

Resolves: #7149
2017-01-05 23:16:27 +10:00
Olivier Humbert
53a87b240b One more fix. 2017-01-05 09:31:09 +00:00
Olivier Humbert
c78aa84995 Another fix. 2017-01-05 09:31:09 +00:00
Olivier Humbert
777266f220 French translation update 2017-01-05 09:31:09 +00:00
Olivier Humbert
30f6467432 another fix 2017-01-05 09:31:09 +00:00
Olivier Humbert
3d3b44aec4 fixes 2017-01-05 09:31:09 +00:00
Olivier Humbert
5d822f5d0f French translation update 2017-01-05 09:31:09 +00:00
Olivier Humbert
4396e8c22c French translation update 2017-01-05 09:31:09 +00:00
cooltehno
dd305ee819 Update cubasish-ardour.colors 2017-01-05 09:26:54 +00:00
cooltehno
fa853265e8 Update clear_gray-ardour.colors 2017-01-05 09:26:27 +00:00
cooltehno
172829a239 Update caineville-ardour.colors 2017-01-05 09:26:09 +00:00
cooltehno
827f6e1357 Update blueberry_milk-ardour.colors 2017-01-05 09:25:42 +00:00
Edgar Aichinger
805e40741f some german translation improvements 2017-01-05 09:22:09 +00:00
30ca09ca88 make status bar themeable 2017-01-04 23:12:34 +00:00
nick_m
b95ab61ce9 allow import of Beethoven's fifth.
- more popular tunes to follow.
2017-01-05 03:49:59 +11:00
9bbcc0e5d9 File [MIDI] display preference under Appearance 2017-01-04 14:17:35 +01:00
nick_m
31ef417cfe fix import of multiple time signatures. 2017-01-05 00:13:43 +11:00
5fac2c66c9 fix memory corruption any time a SysEx display object is deleted 2017-01-03 22:10:05 +00:00
977cabf54a fix color file installation 2017-01-03 17:35:05 +01:00
nick_m
9e9f99f004 note display performance.
use boost::unordered_map as a note store for ghost & midi region
	views.

	as per otiginal method, only notes within regoin bounds are stored.
2017-01-04 00:19:31 +11:00
1bf0ed533d Update links to preference pages 2017-01-03 10:05:05 +01:00
2721337752 s/GUI/Appearance/ -- part twelve of expected 27 prefs updates 2017-01-02 20:23:03 +01:00
eb06a980c2 Move items not relevant for appearance out of "GUI" preferences 2017-01-02 20:15:34 +01:00
eae6593a7e fix VCA vertical alignment 2017-01-02 17:41:15 +01:00
efd8402502 allow to shrink mixer left-side pane 2017-01-02 17:16:29 +01:00
891ea062fc remove VCA title/heading (increases min width) 2017-01-02 17:16:11 +01:00
f1abc95927 Only display pull-up/down if it's being used. 2017-01-01 16:14:59 +01:00
607e7f3b9e Fix flat buttons for the shuttle-ctrl 2016-12-31 20:57:07 +01:00
ff2f224d0c Add keyboard option reset 2016-12-31 19:36:15 +01:00
1115c26e17 re-fine preferences dialog part eleven of 27 (probably) 2016-12-31 15:20:07 +01:00
c1f47ae031 Prefs treeview borders 2016-12-30 18:44:33 +01:00
e122506c91 re-fine preferences dialog part ten of 27 (probably) 2016-12-30 18:29:15 +01:00
3afe3f32df Remove cruft (old MIDI feedback API) 2016-12-30 17:29:08 +01:00
a2bf54c041 re-group preferences part eight and nine of 27 (probably) 2016-12-30 17:04:50 +01:00
16e4333ad6 re-group preferences part seven of 27 (probably) 2016-12-30 15:45:53 +01:00
c2bb6bcafd re-group preferences part six of 27 (probably) 2016-12-30 15:26:00 +01:00
nick_m
4d274cbf26 fix bug where hidden ghostregions were updated. 2016-12-30 20:40:48 +11:00
bde3010be7 Removed the the 2016-12-30 04:12:46 +01:00
a19a681f9e Clarify some more preferences 2016-12-30 03:39:15 +01:00
064e5219d4 Less verbose phrasing for prefs. 2016-12-30 02:54:34 +01:00
1d431bf6c4 Left align notes in Preferences. 2016-12-30 02:33:27 +01:00
c67e831597 Tweak some open labels 2016-12-30 02:33:11 +01:00
4225560360 re-group preferences part five of 27 (probably) 2016-12-30 01:50:40 +01:00
0b40535e9a re-group preferences part four of 27 (probably) 2016-12-30 01:17:05 +01:00
bde08c9d22 re-group preferences part three of 27 (probably) 2016-12-30 00:50:48 +01:00
84802c9be6 Some more Spinbox size updates 2016-12-30 00:23:05 +01:00
f114a20aa9 Shrink some spinners 2016-12-30 00:12:25 +01:00
d89db694cf re-group preferences part two of 27 (probably) 2016-12-30 00:12:11 +01:00
0abc970ced re-group preferences part one of 27 (probably) 2016-12-29 23:34:51 +01:00
a3b72d52a6 Consistent Session Props Dialog Layout 2016-12-29 23:18:53 +01:00
8b8f705520 Fix updates of region-color 2016-12-29 23:06:15 +01:00
30c785dc37 Turn Theme Manager into an OptionEditor (no direct use of Gtk) 2016-12-29 23:06:15 +01:00
1d97a0fb3e Consolidate Preferences/OptionEditor 2016-12-29 23:06:15 +01:00
nick_m
5091a04362 another small improvement to MGR::add_note() performance. 2016-12-30 02:21:12 +11:00
nick_m
52275254a7 allow the use of static_cast for MGR ghost events (speeds things up a bit). 2016-12-30 01:55:41 +11:00
nick_m
e58fda2fa2 minor MidiRegionView::redisplay_model() cleanup 2016-12-30 00:46:43 +11:00
nick_m
68ca289b92 retain note selection for invalidated notes. 2016-12-30 00:40:20 +11:00
nick_m
f4b3133035 more note performance work (dereference less). 2016-12-29 23:22:06 +11:00
nick_m
149cb402b9 revert 7805217b5 (make note mode change work again). 2016-12-29 23:15:35 +11:00
f6e44ce3b5 Remove "Feedback" from Preferences Ctrl Surface pane. 2016-12-28 23:02:38 +01:00
5860911eb2 Further preference-dialog re-layout work in progress.. 2016-12-28 22:19:37 +01:00
4a0edd68e2 Add Scrollbar to MIDI Port Option List 2016-12-28 22:19:37 +01:00
d166fbc62d NO-OP: whitespace 2016-12-28 22:19:37 +01:00
f2e00dfe07 Prefs Dialog: consistent headings, spacing, reduce width,.. 2016-12-28 22:19:37 +01:00
9b9cb4beaa Pack Color Theme Manager as Box - consistent spacing 2016-12-28 22:19:37 +01:00
nick_m
d49b141e11 improve the performance of MidiRegionView::find_canvas_patch_change().
- also fixes patch changes appearing outside region bounds
	  when copied/trimmed.
2016-12-29 04:21:37 +11:00
nick_m
cee85c34b2 add preference for showing non-quarter note tempi (Misc subsection Tempo). 2016-12-29 03:46:25 +11:00
nick_m
3c3cdd1cbe tempo dialog shows note type on first row where applicable. 2016-12-29 03:44:19 +11:00
nick_m
7805217b5f don't clear note items in MidiRegionView::display_model().
- redisplay_model() does this for us.
2016-12-29 02:39:57 +11:00
nick_m
cee7e0cb53 improve MidiGhostRegion::find_event() performance (end is quite common). 2016-12-29 02:36:58 +11:00
nick_m
d0580ecfbc allow all types of range location (loop, start, end etc.) to be glued to bars and beats. 2016-12-29 01:39:31 +11:00
0869aa0f6c Add Locale config preferences and rearrange UI prefs 2016-12-28 13:38:49 +01:00
4c0ce20941 Allow fine grained control over locale 2016-12-28 13:38:49 +01:00
6d566c9fe0 Correct a namespace typo 2016-12-28 09:20:39 +00:00
9740fb7d76 Move a forward declaration (for class ArdourVSpacer) so that MSVC can also use it 2016-12-28 09:16:12 +00:00
f76e8868ef Add GUI support to extract and open session-archives 2016-12-27 22:25:22 +01:00
e71ea821dd Enable session-archive feature 2016-12-27 18:33:47 +01:00
nick_m
5bada6d533 fix leak in MGR _note_group 2016-12-24 02:14:43 +11:00
nick_m
da92d2d764 speed up load/quit for sessions containing ~25k events.
- MGR uses a _note_group to hold events.

	- MRV & MGR delete canvas notes directly from their note group.

	- sysex is untested (it uses MRV note group).
2016-12-24 02:01:37 +11:00
nick_m
0e8852963e shave another line from MidiGhostRegion::clear_events(). 2016-12-23 23:33:13 +11:00
nick_m
4c12df6cf3 fix thinko in previous commit. 2016-12-23 23:24:54 +11:00
nick_m
efacbb1485 possibly faster way to clear ghost events. 2016-12-23 23:03:22 +11:00
nick_m
cb2bbb87d7 slight speed improvement on GhostEvent ctor. 2016-12-23 22:20:08 +11:00
nick_m
7bf3345ada remove double check for note range in MGR::update_note/hit() 2016-12-23 22:18:43 +11:00
a6b4d8b8c6 fix editor sidebar show/hide with embedded TimeInfo 2016-12-23 03:56:01 +01:00
nick_m
1e487d59d1 MidiGhostRegion::update_contents_height() is only about height (again). 2016-12-23 05:44:29 +11:00
nick_m
ddd085cf4e hide ghost events appropriately (e.g. after split). 2016-12-23 05:07:22 +11:00
nick_m
37e858da7d only update GhostEvents on visible trackviews.
- this requires that MidiGhostRegion::update_contents_height()
	  also controls visibility.
2016-12-23 02:55:51 +11:00
nick_m
96048ad4c0 midi scrooming performance updates.
- MGR visibility is handled by update_note/hit()
	  MRV unconditionally updates MGR events
	- remove MidiGhostRegion::update_range()
	- rename set_contents_height -> update_contents_height
2016-12-23 00:51:34 +11:00
nick_m
ebf60feb13 remove wtfery in MidiGhostRegion ctor 2016-12-23 00:41:25 +11:00
Nil Geisweiller
6431c4a6d9 More 8 whitespace to tab indentation fixes 2016-12-22 14:20:13 +02:00
74f1140e46 show VCA color on number label 2016-12-22 02:00:55 +01:00
851cdf26c9 Display VCAs at the end of the Track/Bus list 2016-12-22 01:38:55 +01:00
7f88207b43 spill chained VCAs 2016-12-22 01:05:53 +01:00
b315ff531e amend 91321272b 2016-12-21 23:36:00 +01:00
Nil Geisweiller
4c66e36b91 Fix indentation 8 whitespaces to tab 2016-12-21 23:09:40 +01:00
91321272b5 Add option to hide the 2ndary clock 2016-12-21 23:04:15 +01:00
nick_m
05c3850ac1 GhostEvent wrangling.
- update_range() solely looks after visibility.
	- update_note/hit() positions both x and y using code stolen from
	  update_range()
	- add update_contents_height() for when we just change the GR height.
	- find_event() is now used rather than map::find()
	- use temp canvas items to avoid constructor overhead.
2016-12-22 04:41:25 +11:00
nick_m
e75788614a use map::find in the currently unused MidiGhostRegion::find_event()
- the next one is still often the one we want.
2016-12-22 04:41:25 +11:00
nick_m
2000349e69 revert b330a8a0ce 2016-12-22 04:41:25 +11:00
98c0adda49 Fix crash when resetting all peak-meters with VCAs. 2016-12-21 15:15:06 +01:00
nick_m
b330a8a0ce improve scroomer performance.
- MRV will redisplay the model on scroom, so there is no need
	  to update the range as well.
2016-12-21 23:43:05 +11:00
63e89b2090 'Rect' is ambiguous (also defined in MacTypes.h) 2016-12-21 13:21:54 +01:00
0053abbaae backport/minimize difference to mixbus branch 2016-12-21 12:14:44 +01:00
a18c13cf21 Don't try to scroll to stripables on different panes 2016-12-21 10:59:58 +01:00
f3ac0929aa Mini-timeline: honor left/right scroll 2016-12-21 03:53:45 +01:00
45eff0fa9f Properly calculate VCA bottom padding & align fader 2016-12-21 03:53:45 +01:00
259c47c2de Align mon-section bottom button 2016-12-21 03:53:45 +01:00
36c34330b2 Vertically line up mixer strip (backport from Mixbus) 2016-12-21 03:53:45 +01:00
deb059ff0d Fix Ardour Editor-button height 2016-12-20 19:01:59 +01:00
0c0ebccdf7 Fix Mixbus Editor-toolbar icons & height 2016-12-20 18:48:10 +01:00
b9e8b5940b Fix Dropdown w/icon size and alignment 2016-12-20 18:48:10 +01:00
nick_m
bf75770939 use a map to find GhostEvents by a pointer to Note. 2016-12-21 03:30:32 +11:00
nick_m
eecc9ed743 fix various midi display bugs introduced by 9038be49d8. 2016-12-21 03:18:18 +11:00
1a500bc00b Don't redraw hidden toolbar elements 2016-12-20 12:34:40 +01:00
1e2bdeb014 Limit max height of PinDialog -- fixes #7177 2016-12-20 12:34:40 +01:00
719250ab56 remove debug output 2016-12-20 12:34:40 +01:00
8b5533478f This commit breaks generic GUIs for many LV2 plugins.
Revert "Add checks for supported variant types"

This reverts commit 00ed7c81d3.
2016-12-20 11:33:30 +00:00
nick_m
9038be49d8 improve midi zoom/scroom performance with lots of notes.
- mostly due to searching a multiset rather than a list of
	  canvas events.
2016-12-20 21:31:54 +11:00
ba970cc191 Rearrange LTC preference entry 2016-12-20 10:51:04 +01:00
Hanspeter Portner
00ed7c81d3 Add checks for supported variant types
Add checks for supported variant types in 'build_control_ui'.
2016-12-20 09:07:50 +00:00
1fbc9aaa69 add tooltip to mini-timeline 2016-12-20 03:59:15 +01:00
da4d29401a fix mini-timeline marker-prelight 2016-12-20 03:59:15 +01:00
73ad6b3766 Allow to customize parts of the main toolbar 2016-12-20 03:59:15 +01:00
f6dc24b901 Prepare for re-use of TimeInfoBox w/o punch-clock 2016-12-20 03:59:15 +01:00
6ebf14c2c2 Fix the case of jump-to-next{prev}-Mark. 2016-12-19 17:25:59 -06:00
05119ae3ee Change default binding of left+right arrow keys to jump by Grid setting. 2016-12-19 17:25:59 -06:00
58124e7544 Don't dynamically allocate ShuttleCtrl
With manage() both the button and shuttle were free'ed when the table
was destroyed.
2016-12-20 00:20:00 +01:00
f5c5a9c72e small fix for italian (#7180) 2016-12-19 22:37:13 +00:00
2561b98f8a Move shuttle/speed text outsize 2016-12-19 22:11:53 +01:00
efd55f7526 Fix a leftover from 3e214e (Follow Range behavior). 2016-12-19 14:10:58 -06:00
386a1ed96e Separate is an Editor action (like Delete), not a Region action. 2016-12-19 14:08:23 -06:00
3e214eb4ea Tweak behavior of Play-With-Preroll action 2016-12-19 13:14:44 -06:00
628c99d555 Follow Edits => Follow Range
* "Follow Edits" button had several behaviors that confused users.
* "Follow Range" only has 2 behaviors:
** Click anywhere in Range mode (or Smart mode) to locate the playhead.
** When you select a Range, "Play" will play the selected range.
2016-12-19 13:14:44 -06:00
267dd5edd9 update mini-timeline to immediately display tempo-map changes 2016-12-19 19:25:14 +01:00
a5f61340ef Show relevant preferences on sync-button right-click 2016-12-19 19:21:38 +01:00
d82abddfff cont'd work on mini-timeline:
* add context-menu to configure visible time-span
* prelight markers on mouse-over
* constrain active click area (mouse-up)
* change scroll-event granularity: multiple of configured span.
2016-12-19 19:12:13 +01:00
ae6a5c95d7 update canvas test tool 2016-12-19 13:38:05 +01:00
b47bfc0121 Update Marker display style: consistent height & color 2016-12-19 13:27:22 +01:00
7ad62ffbed Ruler labels should be normal weight. 2016-12-18 20:13:38 -06:00
f3430409a6 Consolidate clock bg colors to use the same dark grey 2016-12-18 19:51:43 -06:00
61470b3df1 Consolidate green clock colors to use the same green 2016-12-18 19:36:32 -06:00
b44889a55b Reinstate spacer between Punch In,Out. 2016-12-18 17:14:02 -06:00
25bb0873b9 Clean up Clock Tempo, TimeSignature labels 2016-12-18 23:41:42 +01:00
aec3b5d4ad Have the computer count columns for us. 2016-12-18 23:20:14 +01:00
bd0fc8cafc Shorten sync-button label/size 2016-12-18 23:17:29 +01:00
2cb9f4167a fix table layout typo 2016-12-18 22:59:17 +01:00
27415486fc fix blank mini-timeline 2016-12-18 22:58:19 +01:00
1bc0f9a178 consolidate mini-timeline code, latch expose 2016-12-18 22:21:10 +01:00
06938105a4 Simplify spacer code 2016-12-18 21:39:36 +01:00
dae2dcd53e Transport Layout: horizontal separator makes it look too busy. Commented out for now. 2016-12-18 13:47:14 -06:00
ab37491614 repack widgets, and add some spacer elements 2016-12-18 13:34:15 -06:00
0a5236266d Add clock-button tooltips 2016-12-18 19:23:12 +01:00
5b80a6ba04 Tweak Tempo and Meter precision, and shorten the label to accomodate 2016-12-18 18:58:56 +01:00
89b9456024 Revert mini-timeline marker drawing to before 448f921d 2016-12-18 18:18:11 +01:00
76c3337159 consistent size of sync-button 2016-12-18 18:18:11 +01:00
nick_m
5f94259075 show all parameters when adding a meter via the tempo dialog. 2016-12-19 04:15:46 +11:00
nick_m
d4f7f5ffa2 TempoMap - rename some methods.
gui_move_tempo   -> gui_set_tempo_position
	gui_move_meter   -> gui_set_meter_position
	gui_dilate_tempo -> gui_stretch_tempo
2016-12-19 04:13:17 +11:00
nick_m
27b95300e2 add frame parameter for Meter ctor and TempoMap::replace_meter(). allow for various failures. 2016-12-19 04:02:01 +11:00
f9743a1eb1 mini-tl: subscribe to location add/remove signals 2016-12-18 17:25:08 +01:00
448f921dd8 Transport Layout:
* Remove some redundant containers and frames, for a cleaner look.
* Adjust transport button spacing and sizes to more closely match the editor toolbar.
2016-12-18 09:02:13 -06:00
33b1dea98a Transport Layout: Alert buttons do not need to be red when inactive 2016-12-17 22:41:25 -06:00
511e9d2d09 Transport Layout: Attempts to standardize button sizes and padding. 2016-12-17 22:32:38 -06:00
291631759c Mini-timeline: Any click not on a marker should trigger a locate 2016-12-17 19:18:16 -06:00
28b5e8b6e2 Mini-timeline: Use timeline colors from config 2016-12-17 19:16:09 -06:00
f80fb029e2 Prepare configurable mini-timeline time-span 2016-12-18 00:06:39 +01:00
7688d22456 remove channel filter status and button from MIDI track header, access via context menu 2016-12-17 17:59:08 +00:00
8405f642e7 fix gcc4 compilation (local type used in template) 2016-12-17 13:00:33 +01:00
705a7262a3 Refine transport tool bar layout 2016-12-17 02:43:42 +01:00
4a83bd80a5 Prepare mini-timeline widget for toolbar 2016-12-17 02:43:42 +01:00
fab1ef05bc remove cruft 2016-12-17 02:43:42 +01:00
9dad10f691 Add UI to set global track layered mode 2016-12-17 02:43:42 +01:00
8ba7e8f4ef Hide/remove per-track record-mode in favor of global setting. 2016-12-17 02:43:42 +01:00
85e4b1d98f Move selection/punch clocks to editor Sidebar 2016-12-17 02:43:42 +01:00
1a25b906b3 Commence transport tool bar re-layout 2016-12-17 02:43:42 +01:00
a631706059 Rework shuttle control display 2016-12-17 02:43:42 +01:00
e1826f8b1c Add API to query editor's playhead cursor position 2016-12-17 02:43:42 +01:00
cd64f17a9c initial attempt at importing SMF tempo maps during MIDI import.
Still with debug output
2016-12-16 16:49:52 +00:00
ebc7eabea2 add arguments (unusued) to control whether or not SMF tempo map is used during import 2016-12-16 14:57:14 +00:00
8436f392b6 tweak presentation of SMF tempo option 2016-12-16 14:14:08 +00:00
7bf10eda75 show tempo information for MIDI files in preview pane; start to offer choice about using tempo map when importing 2016-12-16 13:46:13 +00:00
c2f4399b3d fix generic plugins for toggle with 2 scalepoints (enum)
Signed-off-by: Robin Gareus <robin@gareus.org>
2016-12-16 01:55:28 +01:00
nick_m
9a2450cafc be a bit less flickery when redrawing tempo/meter markers. 2016-12-16 02:56:58 +11:00
nick_m
a99331a4e9 more work on patch change redisplay.
- fixes just-introduced undo crash.
2016-12-16 01:58:58 +11:00
c9444e048e correct return syntax 2016-12-15 11:57:31 +00:00
nick_m
cfbcadc7ef speed up patch change redisplay when using scroomer / adjusting height.
- zoom is still a bit slow.
2016-12-15 22:35:23 +11:00
9e4b972286 GUI changes to allow user to specify how/if to use SMF track/instrument names during import 2016-12-14 12:31:16 +00:00
9a7823f139 change ordering of options for multichannel import 2016-12-14 11:46:26 +00:00
42d5573e78 temporary default value for ImportStatus.midi_track_name_source 2016-12-14 11:46:26 +00:00
eb58c4108f improving logic/flow for SMF type 1 files part 1:
check num tracks for type1 and offer multichannel option if appropriate
2016-12-14 11:46:26 +00:00
nick_m
176625d9e0 test diff for patch change performance when caching colours. 2016-12-14 04:05:08 +11:00
nick_m
c518bc3fb7 when dragging or copying multiple regions, respect position lock style.
- music-locked regions are moved by drag beat distance
	  (will conform to tempo changes over the drag distance)
	  audio-locked regions are moved by frame distance.
2016-12-14 02:08:59 +11:00
b34a614df4 Further fixes to non-cxx11 enabled builds
Hopefully all that is necessary this time
2016-12-13 17:10:30 +10:00
fced0887aa Fix for non-cxx11 enabled builds 2016-12-13 16:50:41 +10:00
0eff7d4a0c Add option to Zoom to Selection on double click
Currently implemented for Region and Range selections.

The new option is false/off by default to maintain existing behaviour. I'm not
sure it should require another option, perhaps Zoom to Selection should be the
default and accessing the region properties dialog can be via Modifier+double
click, but further changes can be made on user feedback etc.

Related: #7112
2016-12-13 13:02:04 +10:00
89623923bd Change Zoom to Selection action (Z key) to zoom on both axes
Add Zoom to Selection (Horizontal) action to access previous behavior.

Remove Editor::temporal_zoom_region as it was duplicate code and broken for
both_axes

Should Resolve: #7112
2016-12-13 12:25:03 +10:00
afa6720288 UI tweak for the spacer at the bottom of the master bus. 2016-12-12 12:16:43 -06:00
nick_m
44e8181c36 only set the exact musical position of the primary region for move/copy drag. 2016-12-13 04:33:58 +11:00
f22d852d8c Towards making tape-tracks work again.. 2016-12-12 03:20:29 +01:00
nick_m
9c5e1ffb0d sort tempo curves initially as well. 2016-12-12 02:07:00 +11:00
nick_m
782b28a1a8 amend previous commit 2016-12-12 02:07:00 +11:00
nick_m
34e41a3ca6 rename MetricSection movable -> initial, but of course initial is !movable.. 2016-12-12 02:07:00 +11:00
2481db7a7f Add a small tool to experiment with libcanvas 2016-12-11 15:52:56 +01:00
nick_m
165645495c there is no need to do a full set_colors() in MidiGhostRegion ctor. 2016-12-11 23:57:50 +11:00
nick_m
22f17a3007 tempo curve fiddling. 2016-12-11 23:55:13 +11:00
nick_m
dbbe65777f fix flickering in tempo curve when markers are reordered. 2016-12-11 23:46:49 +11:00
nick_m
b830ad3d66 constify TempoCurve::tempo(). 2016-12-11 23:44:25 +11:00
3cfd48f48d fix typo in 914224f 2016-12-11 04:36:29 +01:00
914224f808 Add editor actions to set tempo and meter 2016-12-10 21:30:30 +01:00
cc6f8cf321 Black selection & punch clock bg 2016-12-10 15:54:52 +01:00
1479e2d772 Fix video-monitor "sync-source" changes 2016-12-10 15:54:47 +01:00
b552ed886f Add support for Pango Markup to ArdourButton 2016-12-10 15:54:41 +01:00
6a429cfb7c Consistent ArdourButton sizing for elements with LED 2016-12-10 15:54:37 +01:00
e97404c5de Speed up recent-session display with lots of snapshots.
Given that a session can easily have >100 snapshots and one cannot change
the sample-rate anymore, it's mostly useless to parse them all.
2016-12-08 20:33:26 +01:00
61c7af141d Clarify "frames" (video, timecode) vs "samples" (audio) 2016-12-08 12:45:44 +01:00
3d925ef503 braces, please 2016-12-08 10:49:26 +00:00
d766095732 Further tweaks to EngineDialog z-axis stacking
When there's no main window (initial setup, no transient parent),
preset a normal window listed in the task-bar.

The duality the Engine Dialog being used as Ardour-WM managed non-modal
Window (Menu > A/M Setup) and modal Dialog (AudioEngineSetupRequired)
complicates this a bit.
2016-12-07 14:50:17 +01:00
6ce9efb11d Don't assume patch-banks are populated. 2016-12-06 22:56:04 +01:00
ac814d32d1 Allow to send Immediate Patch Changes 2016-12-06 18:48:36 +01:00
Julien ROGER
c5cda446e0 Fix crash when track creation failed draging region
Add more check when creating a new track from a region drag into editor's empty area.

Fix #6496
2016-12-06 22:23:29 +10:00
6b8cadef01 Don't move the Range Selection after performing Multi Duplicate
This is necessary for a single Duplicate so you can keep duplicating but it
doesn't make sense to move it for Multi Duplicate.
2016-12-06 14:06:18 +10:00
a7d19f8fe5 Rename Duplicate Range action to Duplicate and assign existing Alt+d key binding
This will work the same as the existing binding with a Region Selection and
will also duplicate ranges in range selection mode.

Also add multi-duplicate editor action and use that for the default
multi-duplicate action, which will work the same in Object Selection/Grab Mode
but also supports Multi Duplicate of Range Selections....well it would if
that functionality worked correctly.

The duplicate and duplicate-multi region actions still have to exist to be used
in the Region menu as they should only be sensitive if there is a Region
selection which would not be the case if the editor actions were used.

Resolves: #7153
2016-12-06 14:05:07 +10:00
359a0eb830 Fix theme names (dash is used to separate program-name) 2016-12-05 12:16:49 +01:00
08fffeffec Remove Evoral::MIDIEvent
It is slightly questionable whether type specific methods like
velocity() belong on Event at all, these may be better off as free
functions.  However the code currently uses them as methods in many
places, and it seems like a step in the right direction, since, for
example, we might some day have events that have a velocity but aren't
stored as MIDI messages (e.g. if Ardour uses an internal musical model
that is more expressive).

In any case, the former inheritance and plethora of sloppy casts is
definitely not the right thing.
2016-12-03 15:18:21 -05:00
Olivier Humbert
90fcdcfde9 Making one string translatable
It should allow this dialog window to be translatable : http://pix.toile-libre.org/upload/original/1480706219.png

I hope this is the correct way to do so. Please double-check what I've done before merging.
2016-12-02 20:18:02 +01:00
96cb9ba626 Fix un/setting group colors 2016-12-01 15:51:00 +01:00
9d7279d012 and a more intrusive KDE workaround 2016-11-30 23:19:44 +01:00
ffb7cb2b5e remove scope from translated phrases. 2016-11-30 23:00:59 +01:00
4c4061359c pay some attention to the special guest of the night: KDE window stacking 2016-11-30 22:52:06 +01:00
Olivier Humbert
8c49173cd1 One fix 2016-11-30 21:54:10 +01:00
84fc68cf08 Ensure the window-close button is visible for the Engine-Dialog. 2016-11-30 18:13:35 +01:00
Olivier Humbert
7cef79fb39 French translation update
A few more improvements/fixes and new strings.
2016-11-30 18:10:24 +01:00
27d0b67b8f Remove close/OK buttons from engine dialog 2016-11-30 14:44:36 +01:00
02ded90618 allow to remove a session from the recent list 2016-11-30 11:07:37 +01:00
aebd22cbe6 NO-OP backport changes from Mixbus branch. 2016-11-30 09:21:28 +01:00
ae1d4a9346 Fix route color selection dialog 2016-11-29 22:39:20 +01:00
Olivier Humbert
d3bb4e8b08 French translation update - fixes
a few fixes
2016-11-29 19:52:38 +01:00
Olivier Humbert
499eda35e9 French translation update
- a bunch of "fuzzy" stuffs removed (after checking/correcting those)
- a bunch of min/maj fixed
- >50 new translated strings
- >40 updated/fixed strings
- consistency across "… -> ...", "xrun -> décrochage", "lock -> verrouiller" and "mixer -> console de mixage"
2016-11-29 19:38:11 +01:00
Olivier Humbert
1292eefd3d French translation update
Two small fixes.
2016-11-29 15:12:23 +00:00
0d3c2a9dbf Speed up track deletion when Editor-Mixer is visible 2016-11-28 15:36:04 +01:00
bf15e93cde Consistent sub-menu separators for Preferecens in fr translation 2016-11-28 11:34:20 +01:00
198b8f6b58 Fix reversed behaviour of Playlist -> New and New Copy
Resolves: #7146

Thanks again to elgoun for the patch
2016-11-28 10:59:32 +10:00
1d7d9beef7 update default config (see also 5ec21347a) 2016-11-27 23:00:42 +01:00
5ec21347a9 Don't include program-name with <Option name="color-file" />
This allows for e.g. mixbus and mixbus32c to share the config, but
use different color-files at runtime.
2016-11-27 21:54:28 +01:00
0cb9d4a3d2 Restrict Device selection to valid choices. 2016-11-26 15:31:21 +01:00
43b468aa14 speed up track/bus creation a bit 2016-11-25 18:16:08 +01:00
01f8ca831a cont'd work to prevent duplicate playlist names 2016-11-25 14:24:29 +01:00
e07f465516 fix default output map display for no plugin processors
(eg. mono->stereo deliveries)
2016-11-25 13:03:25 +01:00
ca55fbf2f8 The DisplaySuspender is useless with async Session RTEvents 2016-11-25 10:05:36 +01:00
91ee1b6186 Don't allow duplicate playlist names 2016-11-24 22:11:19 +01:00
nick_m
c876aea64d midi ghost region fill colour is per event. don't store it. ensure _outline is set. 2016-11-25 04:50:46 +11:00
nick_m
9f1deb9ea4 amend last commit. 2016-11-25 01:06:22 +11:00
nick_m
2ec2c1c017 midi scroomer updates streamview during drags. 2016-11-25 00:50:29 +11:00
Olivier Humbert
910cbc600c French translation update
Mainly improvements to the Preference tabs.
2016-11-24 11:47:57 +01:00
edogawa23
fe597e8581 small correction to de.po 2016-11-24 08:45:34 +00:00
Edgar Aichinger
dbd8909fad catch up with .de translation 2016-11-23 14:12:57 +01:00
nick_m
434ca0e6ee clean up pending region selection if a region goes away. 2016-11-23 15:36:26 +11:00
nick_m
bd107a28c6 MidiRegionView::clear_events() does _selection.clear(). remove the extra one. 2016-11-23 15:32:13 +11:00
nick_m
390f56a5e1 fix a crash when deleting a MIDI region with CC automation (see recipe below)
- object mode: select a MIDI region that has CC automation.
	  Move the mouse over a CC automation event,
	  then press backspace to delete the selected region

	- the recipe is mentioned in #7049, but seems unrelated.
2016-11-23 15:29:57 +11:00
nick_m
522264f5d6 clicking on an automation line selects adjacent points correctly. 2016-11-23 15:09:54 +11:00
nick_m
fcad5a337f decouple midi region note range and height from midi streamview.
- this allows a midi region drag to update the visible notes
	  correctly while crossing MIDI streamviews with a differing
	  note range.
	  as a side effect, fixes a bug where changing
	  note range on a track did not draw some notes
	  (apply_note_range redisplays the model).
2016-11-23 08:04:14 +11:00
nick_m
cef341631b son't try to select non-existent notes after editing (and thus crash).
- should fix 7135
2016-11-23 04:55:56 +11:00
nick_m
766fa9aa5b don't display notes that start at region end.
- its not obvious that this is happening in sustained mode,
	  but Percussive reveals all.
2016-11-22 02:59:57 +11:00
nick_m
a14c577b8a fix thinko in 8e8c4a73f1. 2016-11-22 02:21:05 +11:00
nick_m
62f37da989 filter events in HitCreateDrag, remove some code. 2016-11-22 02:05:32 +11:00
nick_m
8e8c4a73f1 prevent Percussive mode from displaying a ghost hit at region end. 2016-11-22 02:01:01 +11:00
nick_m
cc1d33a91d NoteCreateDrag - remove some code 2016-11-22 01:59:57 +11:00
73f3e479d3 Make Cut mode respect snap modifer 2016-11-21 22:19:56 +10:00
d4190d3761 Show cursor in Cut mode on button press at cutting position
Previously it would be shown at the mouse cursor position even though the
Region is cut/split at the snap/quantize point if no motion occurred.
2016-11-21 20:45:35 +10:00
4ec299779c Reparent cursor used in Cut mode so that it is on top and visible 2016-11-21 20:11:47 +10:00
Olivier Humbert
47d186d1a3 Make menu item for Add Track/Bus/VCA dialog consistent with window title 2016-11-21 09:22:13 +10:00
Edgar Aichinger
979d5d12f3 update german translation 2016-11-20 23:29:03 +01:00
nick_m
e0c06f39e1 clean up HitCreateDrag. should be a no-op. 2016-11-21 04:57:32 +11:00
nick_m
eef18c47fd fix compilation, rename PercussiveCreateDrag -> HitCreateDrag 2016-11-21 04:20:27 +11:00
nick_m
71c0c872b7 only spray percussive hits during create drag if the grid is in use. 2016-11-21 04:11:54 +11:00
nick_m
5bcb9adbf8 rework mouse hit creation (percussive mode) - mostly as per #7130.
- snap behaviour is round to nearest

	- holding down button 1 while dragging creates many
	  (if not already present) hits.
2016-11-21 04:02:21 +11:00
nick_m
4d0422a0fc NoteCreateDrag scope fix - should be a no-op. 2016-11-21 01:46:42 +11:00
nick_m
d92d9d3a79 use a minimum note length of whatever 1 px is in beats in NoteCreateDrag. 2016-11-21 01:44:56 +11:00
nick_m
7eed31a4b2 MRV handles an alt key press even if nothing happened.
- nothing else treats a modifier press as
	  a key press event, so don't pass it on.
	  amends 0af9fb0d
2016-11-21 01:17:24 +11:00
nick_m
f989ed5b7f fix for short notes being displayed as infinitely long. 2016-11-21 00:17:31 +11:00
nick_m
3d1d2feff7 make it clear that there is no drag threshold for NoteCreateDrag. 2016-11-20 04:55:34 +11:00
nick_m
0af9fb0dee pressing alt while creating a note (snap modifier) keeps mouse_state. 2016-11-20 04:54:20 +11:00
nick_m
e525be86d6 after creating a note, don't add the ghost note until next motion. 2016-11-20 04:51:38 +11:00
nick_m
cb64e926c2 NoteCreateDrag starts on button press.
- removes the separation between click and
	  drag-creation of notes noth now handled by the drag code).
2016-11-20 04:49:18 +11:00
nick_m
0e0b7667ed NoteCreateDrag::grid_frames works over a tempo change. 2016-11-20 04:42:20 +11:00
nick_m
0e0ef41ed4 remove unused variable. 2016-11-19 21:42:50 +11:00
nick_m
c9dd1d39d1 further to 1a6a72b57, handle deleting a note while a non-selected one is entered. 2016-11-19 21:40:41 +11:00
a8e05a50e4 Fix for widget visibility with detached preferences window
Should finally resolve bug #7002

The reason 95e3f766 didn't resolve this is because OptionEditorContainer ctor
is called before adding all the widgets in RCOptionEditor so they will still be
hidden.
2016-11-19 14:19:11 +10:00
0b8a7d3429 Don't allow recursive calls to EngineDialog
OK -> start_engine() can eg. trigger an interactive plugin scan,
which in turn leaves the EngineDialog responsive. changing settings
or clicking OK again can lead to undefined behavior.
2016-11-19 04:54:36 +01:00
nick_m
1a6a72b57a fix for ghost note becoming stuck after note selection deleted.
- thanks ristic for the report
2016-11-19 03:03:20 +11:00
nick_m
ca046a8bb2 fix incorrect subdivision when dragging/trimming regions using magnetic snap.
- amends d2d2308588
2016-11-18 01:04:30 +11:00
cb9f4df0ad GUI to disable MacVST at runtime 2016-11-17 14:06:47 +01:00
nick_m
d2d2308588 magnetic snap uses note divisor appropriately.
- also looks nicer when resizing MIDI regions.
2016-11-17 04:08:13 +11:00
nick_m
05355d0306 fix incorrect return type for Editor::get_grid_music_divisions(). 2016-11-17 03:13:16 +11:00
5ab33bdb63 Fix crash when fanning out from editor mixer
when creating a new track or bus editor-selection changes and the
editor-mixer's _route changes.
2016-11-16 05:24:01 +01:00
ac6f44d92b MacVST UI resizing 2016-11-15 18:17:47 +01:00
a15a316236 consolidate VST UI code 2016-11-15 17:10:13 +01:00
Olivier Humbert
3ff588e189 French translation update
more translations
2016-11-15 03:15:10 +01:00
Olivier Humbert
c5f176ad48 Adding myself
adding my name
2016-11-15 03:15:10 +01:00
Olivier Humbert
7b1432fef1 French translation update
one small fix
2016-11-15 03:15:10 +01:00
Olivier Humbert
9abc5403e9 French translation update
A few more translations and fixes for French.
2016-11-15 03:15:09 +01:00
Olivier Humbert
fbd301ae09 French translation update
This one:
* adds a French translation for a string
* adds myself on the header
2016-11-15 03:15:09 +01:00
Olivier Humbert
5c1f7b2a7d French translation update
This translates one string.
2016-11-15 03:15:09 +01:00
9280e148cc Add missing #include 2016-11-15 00:44:14 +01:00
ea1231fb95 show VST preset clean/dirty state 2016-11-15 00:32:59 +01:00
a610157955 MacVST Program/Preset support 2016-11-15 00:32:59 +01:00
c16eb83fec Fix crash when selecting MIDI note
Replace now always invalid assertion with initialization

Related to #7110
2016-11-15 08:16:31 +10:00
f30fbcaaf9 Fix VST state-lock SNAFU (effSetChunk and process are exclusive) 2016-11-14 21:06:18 +01:00
nick_m
0b2ae7dad9 change note selection node name - should fix 7110 2016-11-15 03:48:20 +11:00
6794a83661 potential fix for #7110 (older sessions have no id) 2016-11-14 04:12:58 +01:00
da480d5540 Suffix plugin type in instrument-list to avoid ambiguities 2016-11-14 01:14:52 +01:00
68cbbe892f fix MacVST UI idle calls 2016-11-13 18:47:08 +01:00
80fa696564 basic Mac VST Cocoa UI support 2016-11-13 16:35:06 +01:00
7daee17f87 fix buffer overflow printing tempo/meter 2016-11-12 16:19:27 +01:00
857c0d4a5e Refine instrument fan-out:
* prefix (rather than suffix) portgroup-name
* check if group already exists
* disconnect targets (when autoconnect preference is enabled)
* expose tracks/busses option
2016-11-11 10:48:33 +01:00
dac2d41ee2 Add option to zoom using button press in the time rulers and dragging vertically
This is a common operation used for zooming in other DAWs like Ableton Live and
Cubase. To support such a usage pattern without changing the existing behaviour
of the ruler area I've made it an option that is false by default.

The behaviour of RulerDragZoom is intentionally different than a CursorDrag
that occurs in the rest of the ruler area in that it doesn't follow the snap to
grid setting and no locate related stuff occurs until button release.

There are some issues with responsiveness with more than a few hundred regions
or a large amount of MIDI events/notes.

Implements feature #6768
2016-11-11 14:13:53 +10:00
37a7d87786 Use the frame corresponding to the current mouse position when zoom dragging
Editor::mouse_frame only works within the track canvas. If a zoom drag is
initiated and the mouse cursor goes outside of the track canvas the zoom
position should still based on the current x position of the cursor.
2016-11-11 14:13:53 +10:00
9485748e17 Change Editor temporal zoom methods to be able to use different scale for the zoom 2016-11-11 14:13:53 +10:00
4499066f39 static MonitorSection Action -- fixes #7098
ActionManager registered actions are static global and cannot reference
an instance (this) directly.
2016-11-11 03:54:50 +01:00
f83dbf83f4 keep meterbridge on top 2016-11-11 01:14:18 +01:00
9990da35d8 prevent crash during track-deletion (un-selecting deleted tracks) 2016-11-10 23:20:58 +01:00
33942e6d52 Implement instrument fan-out options (group, track/bus) 2016-11-10 21:39:20 +01:00
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
nick_m
bf5933add6 Performance: store NoteBase UIConfiguration colors between config changes.
Cumulative time in percent while wiggling the tempo lines rapidly.

Before:

MidiRegionview::update_sustained 12.02

 NoteBase::base_color             6.43
 MidiGhostRegion::update_note     3.12
 Note::set                        1.27
 TempoMap::frame_at_quarter_note  0.59
 _dynamic_cast                    0.13

After:

MidiRegionview::update_sustained  10.49

 MidiGhostRegion::update_note      5.57
 Note::set                         2.52
 TempoMap::frame_at_quarter_note   1.13
 NoteBase::base_color              0.17
 _dynamic_cast                     0.17
2016-10-17 03:19:02 +11:00
nick_m
bcea5fc9d3 Fix region colors not updating on theme change. 2016-10-17 02:25:16 +11:00
nick_m
92920307ae Tempo curve cleanup, now also works on optimized builds. 2016-10-17 01:28:33 +11:00
29f6044180 Mixer strip list: click to move strip into view 2016-10-15 23:16:09 +02:00
nick_m
a32aea4201 BBT duration clock can only compare musical times. 2016-10-16 05:09:49 +11:00
nick_m
0b50945484 Fix various snap issues when dragging control points (AutomationRegionView). 2016-10-16 03:47:10 +11:00
nick_m
2c844552a7 Fix incorrect musical position in NoteDrag::total_dx. 2016-10-16 03:41:58 +11:00
nick_m
50963a03c2 AudioClock: remove duplicated code. amends 3a0a628a7 2016-10-16 03:26:30 +11:00
nick_m
1692968627 Slightly improve note update performance, fix note resizing for non-4.0 meter divisors. 2016-10-16 03:11:05 +11:00
nick_m
3a0a628a75 Rework duration clock and TempoMap::insert_time to include meter at offset.
- should fix 7072

	- also fixes scroll behavior over multiple tempi.
2016-10-16 02:33:49 +11:00
nick_m
9698f16aee Note selection state uses note event_id_t. 2016-10-15 23:50:02 +11:00
nick_m
7da51b9792 Ensure correct initial automation region view position. 2016-10-15 23:17:19 +11:00
2606b81d04 Editor up/down arrow keys: snap to track (not 60px) 2016-10-15 04:13:30 +02:00
4251747760 mixer left/right: snap to track 2016-10-14 22:58:59 +02:00
a4ad0a90d1 GUI to allow aux-send feedback loops 2016-10-14 16:07:30 +02:00
W.P. van Paassen
5a3fe4aa20 Inital support for Steinberg's CC121 control surface 2016-10-13 12:10:39 -04:00
24eaec1fa8 handle blink-rec-arm change without application restart 2016-10-13 18:07:41 +02:00
Nil Geisweiller
651fb79818 Add region position to note start in the midi list editor 2016-10-13 12:06:38 -04:00
Robert Scott
8098c7785f Don't reset the audio tracks name when changing the channel configuration. 2016-10-13 12:05:28 -04:00
cooltehno
c087b7ab30 Update cubasish-ardour.colors
file:///home/cooltehno/DATA/ARDOUR_EXP/.темы/3_cubasish/cor_131016.jpg
This commit changes the clip indicator from white to red coloured (from "color 9" to "color 55"). Also the "color 55" is changing from orange (f85813) to maximum bright red color (ff0009)
2016-10-13 12:02:02 -04:00
27cff39dc7 peak level numeric display now uses "clip indicator" for base color, not "bright indicator"
Should address #7010
2016-10-12 15:50:30 -04:00
4bfe707342 add gtk_clip_indicator as a separate color from gtk_bright_indicator 2016-10-12 15:43:47 -04:00
Nathan Stewart
114bc97f94 Fixes minor memory leak found in color_theme_manager.cpp:326 2016-10-12 14:50:03 -04:00
688eb2883f allow to run single tests from ./artest 2016-10-11 00:03:18 +02:00
nick_m
4faf44588f Interpret start & length_beats properties as double rather than Evoral::Beats.
- Evoral::Beats operator!= would prevent an increment
	  of start_beats by intervals of less than a tick,
	  so its possible that other subtle problems
	  existed due to this kind of thing.
2016-10-10 03:39:57 +11:00
nick_m
2f72b42385 TempoSection methods deal in beats rather than pulses per minute.
- removes note type from curve function for a slightly more
	  accurate result.
2016-10-09 03:46:50 +11:00
nick_m
a54d105107 Use double comparison in MidiRegionView::note_in_region_range(). 2016-10-09 03:24:14 +11:00
Nathan Stewart
59cc0a11ca Clean up cppcheck warnings about handling of allocated memory in SysEx class 2016-10-07 19:49:00 +02:00
f71ad74ca7 update LuaWindow output on-the-go (allow progress print) 2016-10-06 18:35:29 +02:00
70b580a4b4 Hold ctrl + click "open" session -> safe mode
This allows to hide the "Safe Mode" checkbox.
2016-10-06 17:42:46 +02:00
b63babbc3d sort instrument list alphabetically 2016-10-06 13:57:58 +02:00
2a27cc4758 GUI support for type-0/1 SMF import (display channel/track count)
This needs further work:

Type-1 SMF are always
   "One [Ardour] track per [MIDI] track"

Only type-0 SMF have the option
   "One [Ardour] track per [MIDI] channel"
and
   "One [Ardour] track per [MIDI] file"


This is ambiguous with multi-channel audio or multiple selection,
mixed audio+midi and worse with mixed type0/1 .mid selection.

This calls for a dedicated dropdown to select MIDI Import Disposition
for type-0 SMF.
2016-10-05 21:01:21 +02:00
b233a56a80 fix interface - proessor_selection is not a Lua C-Function 2016-10-05 01:14:43 +02:00
Kamil Rytarowski
f9c83a04f1 Fix ldd(1) parsing on NetBSD
* NetBSD

$ ldd /bin/cat
/bin/cat:
        -lc.12 => /lib/libc.so.12

 * Linux

$ ldd /usr/bin/cat
        linux-vdso.so.1 =>  (0x0000726abb373000)
        libc.so.6 => /lib64/libc.so.6 (0x0000726abafa7000)
        /lib64/ld-linux-x86-64.so.2 (0x0000726abb374000)
2016-10-04 22:15:33 +02:00
07acc1dfa6 revert previous unintended commit 2016-09-30 10:59:14 -05:00
ea10f0a53e fix: using arrow-keys on selected mixer strips would recursively affect grouped faders 2016-09-30 10:52:46 -05:00
3d256ff2c2 Constrain Samplerate selection when session is loaded
Ardour does not allow to change the rate of a session itself.
2016-09-30 16:50:00 +02:00
7f8ec25e25 fix sample-rate display: show active (not desired) rate 2016-09-30 16:50:00 +02:00
2637aaee23 Fix finding of splash file and display in About dialog 2016-09-30 22:37:00 +10:00
10d05f0ee3 some Collaborative Albums from the early 80's 2016-09-29 20:46:23 +02:00
587439acf8 fix crash on OS X el capitan when using command line arguments 2016-09-29 13:05:38 -04:00
1f88b6d35f make error dump on stderr slightly more obvious 2016-09-28 11:28:45 -05:00
78d02eb620 Revert "Editor does not need to reset track/stripable selection, since Selection already maintains that itself"
This reverts commit 57652d7d50f706e2f0e525c6f48c1fc7830cf222.
2016-09-27 14:59:32 -05:00
56af59953f move "logmeter.h" from gtk2_ardour into libs/ardour 2016-09-27 14:59:32 -05:00
37233fe92f TimeAxisView::set_selected() needs to call AxisView::set_selected() 2016-09-27 14:59:32 -05:00
238ca58c93 Editor does not need to reset track/stripable selection, since Selection already maintains that itself 2016-09-27 14:59:32 -05:00
67540ad0f5 add explicit "duplicate-regions" action 2016-09-27 14:59:31 -05:00
7f31a40932 add "quantize" action for control surface access 2016-09-27 14:59:31 -05:00
9c2a517cb0 don't get into nested run loops if quantize is reinvoked (e.g control surface) while already in progress 2016-09-27 14:59:31 -05:00
72e2935842 minor tweak to quantize dialog so that we can test if it is visible 2016-09-27 14:59:31 -05:00
d2e59c308e various tweaks to port matrix display logic to try to avoid a few wierd things 2016-09-27 14:59:30 -05:00
cf28d71783 push2: basic GUI dialog 2016-09-27 14:59:30 -05:00
8fd4d32789 add a new action to allow surfaces to access Keyboard::close_current_dialog() 2016-09-27 14:59:29 -05:00
413fe2cf9a adjustments to build nascent push2 surface support 2016-09-27 14:59:29 -05:00
dd1550b263 hide unfinished "Archive" feature for 5.4 release 2016-09-27 01:23:20 +02:00
8e8a0a9ef4 GUI option to Exclude unused sources 2016-09-23 20:43:26 +02:00
nick_m
4270569528 Fix bug where drawing long notes placed the new note on the previous snap line.
- NoteCreateDrag already applies this shift, so it was
	  always applied twice to the note start frame.
2016-09-23 05:06:03 +10:00
nick_m
080e7755a6 Remove _midi_regions_use_bbt_beats from Session, _start_pulse and _length_pulse from MidiRegion.
- _start/length_beats are now quarter notes regardless
	  of loaded session version.

	- also restores note colour update
2016-09-23 03:39:05 +10:00
a957d058e4 Update Archive GUI: expose audio-encoding, set progress text 2016-09-21 13:04:29 +02:00
03fe02703d GUI updates for archiving sessions 2016-09-21 04:06:23 +02:00
1733f5bcef add missing files 2016-09-20 20:07:56 +02:00
5232e0f2af GUI support to archive session 2016-09-20 19:52:56 +02:00
7fe91a7d1c fix another crash at exit #7033
Don't construct the bindings editor only to disconnect its signals
2016-09-18 10:03:37 +02:00
078889efa8 Save changes when toggling checkboxes in ExportDialog
I used the Widget::on_hide method in the ExportFileDialog to defer the saving
of changes in state of the analysis and soundcloud-upload checkboxes as it was
not possible to save the format xml state directly from the
ToggleButton::toggled() signal as it created a recursive loop and also to
prevent saving the state more than once.

Even though the ExportProfileManager::FormatListChanged signal is no longer
emitted when saving format state and the crash no longer occurs without this
change. I think it is worth saving explicitily from in the toggle callbacks to
reduce the complexity of understanding what is taking place and when even if it
is less efficient.

There is definitely more opportunity for refactoring and redesign.
2016-09-17 22:03:16 +10:00
0996656ecc Allow to query HTTP headers 2016-09-16 01:39:04 +02:00
b302f70265 Skip pin-management for MB channelstrip plugins 2016-09-15 15:32:45 +02:00
Guido Aulisi
e2b724194e Do not delete selected MIDI notes while dragging. (See #6602)
This is not caused by commit_reversible_command, but because
NoteDrag::total_dx calls Evoral::Note<Evoral::Beats>::time()
with invalid MIDI note (deleted).
2016-09-15 23:24:36 +10:00
1ee63d2610 Restore state of analyze and soundcloud upload checkboxes in ExportDialog
This should be a proper fix for bug #7003, now that I've spent a bit more time
reading the code. The options are now stored as part of the export format
state.
2016-09-14 20:36:04 +10:00
8e995be5cf copy demo sessions 2016-09-13 19:31:38 +02:00
3193aa93ce Rename Struct defined in freesound header to be less generic
This could potentially conflict with a struct declared in the
ardour/soundcloud_upload.h file.
2016-09-13 14:55:02 +10:00
cec0c57b78 Remove duplicate header includes in gtk2_ardour 2016-09-13 14:55:02 +10:00
7d31ec02b3 Add missing header include guards in various gtk2_ardour headers 2016-09-13 14:54:54 +10:00
55af1d539f allow running from src-tree using system-wide gtk-themes w/color defs 2016-09-12 12:01:07 +02:00
fc0114a7e2 Fix #7015, Crash while aborting Region trim using Esc key
There were two issues:

The first is that TrimDrag::aborted was calling TrimDrag::finished with a null
GdkEvent which caused a segfault when dereferencing. So avoid that by passing
in a dummy event as we are just going to undo the operation in the next step
anyway so it shouldn't matter if it is valid(AFAICT).

The other is that TrimDrag:aborted was calling Editor::undo() which was in turn
calling TrimDrag::aborted leading to infinite recursion and stack overflow.
Calling Session::undo() directly seems to avoid that issue.

This fix feels like a bit of a hack...but it seems to work and is better than a
crash.
2016-09-11 22:53:00 +10:00
dab6e8a2d3 Fix #7003, Store/Restore state of checkboxes in Export dialog 2016-09-11 09:29:53 +10:00
3f95b5ac19 closing the normalize dialog should not run normalize (#7016) 2016-09-09 19:15:10 -04:00
673e580726 fix WM close handling for session lock dialog (#7017) 2016-09-09 19:09:15 -04:00
835b874e1e add ActionManager::rec_sensitive_actions and put "add track/bus" in this group, which is disabled during active recording 2016-09-06 16:56:51 -04:00
73fe0e4b97 use moved version of reset_focus() 2016-09-06 16:56:51 -04:00
c9ece0d6c6 use moved version of reset_focus() 2016-09-06 16:17:39 -04:00
07bb5ff347 move kbd focus reset method into ARDOUR_UI where it (probably) belongs 2016-09-06 16:17:08 -04:00
cooltehno
755010f254 Update clear-gray-ardour.colors
This commit changes item "gtk_bases" from light (color22) to darker (color88). The knob of "Enable/Disable MIDI input" in Edit List had the same colour and was not visible. This commit makes it clear visible, and it has no much influence on a general design.
2016-09-06 15:43:40 -04:00
bfd0f321f6 use existing Editor::reset_focus() method to reset focus after audio clock editing is done 2016-09-06 15:40:22 -04:00
ff4e9cc1df do not set the focus widget to be a toplevel window in Editor::reset_focus.
See comments in code for the reason why
2016-09-06 15:39:50 -04:00
nick_m
fb9f4636e7 Remove unused variable. 2016-09-07 00:27:01 +10:00
nick_m
74a604d261 Fix the tempo note-type hallucination.
- after reports that a tempo with non-4.0 note type
	  would produce a ramp in the preceding section, an incorrect
	  assumption was made leading to a bogus 'fix' that redefined
	  Tempo's pulses_per_minute().
	  the real fix was simple:
	  the ramp's function constant was calculated using the note type
	  of the proceding tempo rather than the current one.

	- this patch reverts e82482e8e9 and a4d67279e0
	  and maintains the old definition of Tempo::pulses_per_minute()
2016-09-05 16:28:46 +10:00
nick_m
a4d67279e0 Fix graphical issues in tempo curve. 2016-09-04 03:18:12 +10:00
nick_m
d7879486a0 Ensure the correct position is passed to MidiRegionView::get_grid_beats(). 2016-09-02 05:18:53 +10:00
nick_m
e689182a6a Editor::get_grid_type_as_beats() returns the quarter note equivalent of BBT beat and bar. 2016-09-02 05:11:54 +10:00
ab76a49b22 Fix a bug when formatting time strings
It seems that 'strftime()' (on Windows) works differently from its non-Windows counterparts. Specifically, some formatting options (e.g. %F) are not recognised in the Windows implementation.

Fortunately, glibmm comes to our rescue here! So let's use the glib implementation which will hopefully work the same on all platforms.
2016-09-01 12:31:33 +01:00
nick_m
34e234825e No-op - rename var in MidiRegionView::note_dropped(). 2016-08-31 23:12:11 +10:00
nick_m
dbb9e8cc31 NoteCreateDrag uses quarter-notes. 2016-08-31 23:12:11 +10:00
nick_m
c0f89e99a2 MidiRegionView uses quarter note snapping.
- also ensures poiinter ghost note respects the snap modifier.
2016-08-31 23:12:11 +10:00
nick_m
086096b465 Use quarter-note based 'beat' when snapping. 2016-08-31 23:12:11 +10:00
b7e8d6f131 NOOP: whitespace 2016-08-29 06:38:48 -04:00
95e3f7663e improved (more general) fix for preferences window visibility 2016-08-29 06:38:34 -04:00
97246e501b Revert "apparent fix for preferences window visibility"
This reverts commit 9d6d9c6501.
2016-08-29 06:37:45 -04:00
9d6d9c6501 apparent fix for preferences window visibility 2016-08-29 06:35:45 -04:00
7336a05110 fix focus-on-clock action 2016-08-28 09:05:31 -04:00
4d7eb04cf6 Fix a crash when toggling back and forth between a generic plugin GUI window and a VST plugin's own GUI 2016-08-28 10:26:02 +01:00
845fb839e8 Fix a crash when we display the 'Plugin Analysis' window (in a generic plugin GUI window) and then close the GUI 2016-08-28 10:23:57 +01:00
400f38c721 single action punch in
Consecutive execution (e.g. from a control surface button) engages punch in, then punch out, then clears both.
Patch by Nathan Stewart
2016-08-27 19:57:40 -04:00
094d08dc2b NO-OP: indentation 2016-08-27 06:02:52 -04:00
3c4025d000 fix display of preferences window when detached.
GTK+ apparently unpacks/hides a widget whose requistion at window show/packing time is negative for x or y axes. The RC option editor
was being created AFTER its Tabbable self packed it into its own window (when detached), and GTK+ rejected it because the
treeview had a size requisition with -1 for width.

So build it first, then call Tabbable::set_state() later
2016-08-27 06:02:52 -04:00
ddc4e61b57 forward Lua print() to Ardour's Log. 2016-08-26 17:02:23 +02:00
5c12de78db Update CC automation menu when changing channel selection 2016-08-26 16:18:46 +02:00
7837122e45 add a static function to access processor selection from a Lua script
local ps = ArdourUI.processor_selection()
  for p in ps:iter() do print (p:name ()) end
2016-08-26 03:24:06 +02:00
07fa803aa1 fix a-eq grid layout 2016-08-26 01:10:38 +02:00
cb13882aa3 add len ovens to the authors list 2016-08-25 13:42:38 -04:00
5af281afb1 add nascent poly-phonic pressure to automation menu for MIDI tracks 2016-08-25 13:42:38 -04:00
2e7e2d2658 Fix astate setting for combo parameters when setting all astate
Don't try to be smart when chosing which parameters need their
automation updated but rather trust the list that was populated at
creation time when all relevant information had been gathered.
2016-08-25 19:23:49 +02:00
3921e33c2a Avoid 1px size changes when sizing_text() is used
When requesting a size for ArdourButton, the width and height of the
button could be increased by one to ensure the center of the text would
lie exactly at the center of the button.

I initially thought that it was a good idea even when the text used for
sizing was frozen, but the main (and only?) use-case for that is to
actually freeze the size of the button regardless of the actual
displayed text, so jittering by one pixel is not welcome.

Only do the centering tweak if there is no sizing text.
2016-08-25 19:23:49 +02:00
b424270208 Fix string to float conversion when typing gain values in Gain Meter
Remove the LocaleGuard so that the value of LC_NUMERIC is that of the users
locale and sscanf will parse the string correctly. For instance, with a locale
like nl_NL or fr_FR where the decimal point is different than the "C" locale,
only the number up to the decimal point will be parsed by sscanf and input
values will be rounded down.
2016-08-24 20:42:56 +10:00
cbc5ec764f fix generic GUI layout for no-control UIs 2016-08-24 03:18:28 +02:00
nick_m
ac8617017a Don't attempt to snap to the current musical grid when dragging tempi. 2016-08-24 03:41:42 +10:00
27f347a5de better late than never 2016-08-22 16:29:57 +02:00
289ad1f3c7 use user-specified insertion point when adding new tracks/busses with a template 2016-08-22 09:44:48 -04:00
39e9add5c0 use insert at specification when duplicating tracks/busses 2016-08-22 09:41:59 -04:00
cab3fc09de fix signed/unsigned warning 2016-08-22 09:41:59 -04:00
ae32f44dc9 add insert-at combo selector for duplicate tracks dialog 2016-08-22 09:41:59 -04:00
444b9e8903 Parse information from harvid independent from the locale
This fixes a crash where aspect ratio "0.5" from harvid was interpreted
as "0" in the French locale (expecting 0,5).

Note: harvid uses a portable, not localized snprintf() implementation
2016-08-22 14:47:37 +02:00
36f232d558 factor out "new route insertion point" enums so they can be shared by relevant dialogs 2016-08-22 08:40:12 -04:00
b339cde446 remove debug output from last commit 2016-08-21 21:44:33 -04:00
ed5091d7ae editing plugin with generic GUI has a tooltip saying it uses the primary modifier. Make it so 2016-08-21 21:42:16 -04:00
d92686afb4 Repeat INSENSITIVE colors instead of relying on inheritance
Since inheritance doesn't seem to work on some systems, though it worked
on mine.
2016-08-22 01:58:08 +02:00
444497b571 remove close buttons from Bundle Manager (rely on WM provided button) 2016-08-21 23:02:37 +02:00
cd77f7e209 even more consistent labels in the mundle manager 2016-08-21 23:02:37 +02:00
9e981367e2 Fix another crash at exit:
Collecting bindings after ::finish() has already destroyed half the GUI
will result in memory corruption invalid Glib::RefPtr<Gtk::Action>

 Gtkmm2ext::ActionMap::get_actions()
 Gtkmm2ext::Bindings::get_all_actions()
 KeyEditor::Tab::populate()
 KeyEditor::refresh()
 Editor::set_script_action_name()
 LuaInstance::session_going_away()
 PBD::Destructible::drop_references()
 ARDOUR::Session::destroy()
 ARDOUR::Session::~Session()
 ARDOUR_UI::finish()
2016-08-21 23:02:37 +02:00
5eacf424b6 Resolve Bundle Manager Input/Output label ambiguity 2016-08-21 19:12:16 +02:00
01ac1b5362 Merge set_pango_fontsize() into reset_dpi()
… since reset_dpi() is the only caller.
2016-08-21 15:04:06 +02:00
6588da09b3 Silence a GCC initialization order warning 2016-08-21 15:04:06 +02:00
ec74d4b0d0 Avoid jitter of track headers width when changing automation states 2016-08-20 18:32:37 +02:00
fcadcac7e7 Make knobs size requests dynamic
At the point of creation, the automate_button size request is wrong
since it has not the correct style yet. Instead of trying ugly hacks to
fix that, connect to the knob's size_request signal and get the button's
requisition only when needed. If the system font changes to one that has
different extents (even if the point size is the same), the UI will thus
correctly update.
2016-08-20 18:12:49 +02:00
aed07c4998 Do not constrain vertical size without need
A value of -1 means "let the widget use its natural size in that
direction".
2016-08-20 18:12:07 +02:00
ed723ca2c3 Use ArdourButton::Square mode instead of ad-hoc sizing 2016-08-20 18:11:13 +02:00
00e081024b Use set_sizing_text in generic plugin ui 2016-08-20 16:05:18 +02:00
99e31db66e Invalidate char_pixel_* on possible font change
So that the padding and other elements always correctly depend on the
font instead of the default GTK font (which might have a wildly
different size from the fixed size fonts of Ardour's custom theme).
2016-08-20 16:01:15 +02:00
f108bf1373 ArdourButton: add text for measuring decoupled from display text
In the normal course of events, an ArdourButton requests just enough
space to display its elements. In particular the size will change when
the text does. Yet, in several cases it is better to avoid layout jittering; until now ArdourButton users manually set a static size on the button at creation time.

Introduce new API to set the text used for measuring the button size
separately from the text that will be displayed. In most cases this
enables the callers to replace

    set_size_request_to_display_given_text(button, text, w, h);

where w and h were hard-coded to cater for other button elements, by

    button.set_sizing_text(text);

which will make ArdourButton correctly compute the size request in all
cases with its real elements and padding. ArdourButton users can call

    button.set_sizing_text("");

to get the size request depend on displayed text (which is the default).
2016-08-20 16:00:46 +02:00
23ccf48c28 Fix colors of disabled spin buttons (and maybe others)
The insensitive state should not get a base color that's the same as the
enabled one, or the difference is not visible enough (only the text
color changes). In fact, since the goal of the entry modifications is to
aid visibility during user input, there is no reason to override the
insensitive colors.

Just inherit the insensitive colors of the global style.

Also fix a comment that was attached to the wrong declaration.
2016-08-20 00:31:19 +02:00
nick_m
c1b950373f Amend last commit - remove some code. 2016-08-20 05:41:12 +10:00
nick_m
869a9cb5df Swap tempo/meter colours when hovering. Use entered marker for these as well.
- Note : entered_marker modifies the 'p' press, locating to the
	  currently hovered-over marker.
2016-08-20 04:36:52 +10:00
nick_m
949dd8245d Add a colour for music-locked meters. 2016-08-20 04:33:51 +10:00
91757960cc fix missing API for no-app-nap when building on OS X < 10.9 2016-08-19 13:19:37 -04:00
nick_m
0444ce1d5e Revert last commit (269a08a2b1). 2016-08-20 01:58:56 +10:00
nick_m
269a08a2b1 Allow both types of constrained drag (again).
- Holding the constraint modifier at the time of grab gives constrained x.

	- Holding the constraint modifier after the grab but before the first motion
	  constrains to the direction of first movement.
2016-08-20 01:46:04 +10:00
nick_m
2d7bdda0be Extending an empty selection selects the clicked region.
- fixes a crash where the first operation on loading a session
	  is a constrained drag
2016-08-20 01:34:53 +10:00
25ec63968c add code to disable AppNap on OS X/MacOS
Should build on versions before 10.9 and run everywhere due to respondsToSelector check.
2016-08-19 11:12:35 -04:00
e2846ad210 Remove unused lines in clearlooks.rc.in 2016-08-19 15:49:47 +02:00
5cc97f55f2 Avoid CamelCase in color names 2016-08-19 14:57:07 +02:00
d599be115d Make automation state buttons active when not on Manual
With the same color code as the fader automation button on mixer strips.
This is especially usefull when use_knob is true (e.g. for a-EQ) because
the automation only shows one letter and a "Write" state can thus be
easy to miss.
2016-08-19 02:53:39 +02:00
ede27f53c6 Remove unused space in gain_meter's automation menu 2016-08-19 02:53:39 +02:00
907c56234c Add missing return 2016-08-18 16:32:38 +02:00
523306036e Make ArdourButton detect when a grab should stop being pressed
If for whatever reason a grab is taken (e.g. a menu popping up) while
somebody is pressing a mouse button on an ArdourButton, then the
ArdourButton will not get the mouse button release event and will look
stuck in pressed position.

The leave notify event is fired if the mouse is still on the
ArdourButton while the grab is taken, but not if the user was dragging
the mouse outside of the button.

The only reliable way is to listen for the grab_broken_event signal.
Do so.
2016-08-18 16:16:17 +02:00
0ab81183c0 don't show empty time axis view context menus 2016-08-18 08:16:31 -04:00
534ca81613 Make buttons in track headers behave more like Gtk::MenuToolButton
Make their popup menus show attached, and on mouse down, but keep the
context menu behavior on middle- and right-click for the group button
that reacted to those (probably an oversight but some users might have
got the habit of right-clicking).

This also makes the group deletion on Ctrl+click happen on mouse down
instead of mouse up which is not a great difference and avoids
complicating the code.
2016-08-18 13:24:00 +02:00
1d686ac978 Make name_button behave more like a Gtk::MenuToolButton
Make it popup its menu in attached mode, and on mouse down, but keep the
context menu behavior on right-click.
2016-08-18 11:52:22 +02:00
3ab6ff8be7 Make in/out buttons behave more like Gtk::MenuToolButton
Make them popup their menu as if attached rather than as a context menu.
2016-08-18 11:50:38 +02:00
9095d60f96 removed commented code, now that the comment is actually correct 2016-08-17 23:13:49 -04:00
71236425a6 fix hard/impossible trimming situation 2016-08-17 23:09:33 -04:00
e8427ee2cb GUI does an even stronger check on no undo/redo while recording 2016-08-17 19:22:26 -04:00
214dfccdae Use a real dropdown for AutoState in automation lanes 2016-08-17 23:56:31 +02:00
606ffe6a35 Align the currently selected automation state on dropdown
By passing the current text of the automation button we can make the
dropdown menu align with the current mode. This will only work for
full-size automation buttons, not when use-knob is true, but in that
case it feels wrong to popup on top of the button anyway.

Also make the menu show on mouse down like a real dropdown.
2016-08-17 23:56:31 +02:00
90e2baf6a9 upcoming codenames 2016-08-17 17:04:02 +02:00
d883d4623a Make MixerStrip's automation menu behave like a dropdown 2016-08-17 14:30:28 +02:00
b48e803cf6 Make the group button in MixerStrip behave like a dropdown
Since it mostly is a multiple-choice menu.
2016-08-17 01:46:11 +02:00
6a985df81e Replace positioning function with popup helper
Because all uses of the function positioning menus anchored to a widget
were as callback argument to Gtk::Menu::popup() where the caller needed
to correctly bind arguments, this led to repeated and a bit obscure code.

Wrap the logic into an helper function that takes care of all that, and
update the callers.
2016-08-17 01:45:47 +02:00
46710a75de fix issue with WM close/delete ("X") button not working for window proxied dialogs (e.g. add route dialog) 2016-08-16 13:57:00 -04:00
9421e0b4a7 allow constrained-drag of MIDI notes to work 2016-08-15 11:20:23 -04:00
nick_m
a9b72f87a6 Add missing line feed in midi_region_view.cc 2016-08-16 00:56:08 +10:00
nick_m
cecbae1df4 Midi region ghost note uses beat-based note time calculation. 2016-08-16 00:52:18 +10:00
nick_m
62372b48ea Fix frame-based beat calculation in MidiRegionView::snap_frame_to_grid_underneath()
- this caused the ghost note under the pointer to behave badly when
	  hovering near an audio-locked meter.
2016-08-16 00:48:54 +10:00
nick_m
a7032917b1 Remove assumption that the meter starts at frame 0 in Editor::apply_midi_note_edit_op_to_region(). 2016-08-14 04:49:37 +10:00