13
0
Commit Graph

11474 Commits

Author SHA1 Message Date
f0a3c84e8c Fix crash when inserting time with split intersected regions 2017-03-02 21:20:09 +01:00
5524bac04b Don't try to auto-start engine for new sessions
Work around logic-flow in EngineDialog which should already have
done that, but may no longer heed this special-case if sample-rate
dropdown is refreshed to only devices supported ones.
2017-03-02 20:01:48 +01:00
05b0102668 ArdourButton: if _act_on_release is true, only trigger actions/signal clicks on key release, and vice versa
This should really be split in separate semantics for key and button events.

Fixes a subtle but nasty bug in the EngineDialog where the change of the default focus
widget from a Gtk::Button (acts on press) to an ArdourButton (acts on release) caused
events occuring after a dialog has grabbed focus to trigger button clicks
2017-03-01 22:30:20 +01:00
96b3f8ec92 Don't automatically open generic UIs for plugins w/o controls 2017-03-01 17:17:27 +01:00
88a22d40b5 Fix implicit selection when operating track-header ctrl buttons
Stop event propagation. Otherwise, on release the event is passed
up and handled by the TAV which scrolls the editor viewpoint
and the button is no longer under the mouse.
2017-03-01 11:55:32 +01:00
f1571ab7ed initialize some uninitialized vars 2017-02-28 16:29:10 +01:00
nick_m
38b5d88795 allow continuation of tempo via right-click 'Continue' where appropriate.
- this is the opposite of 'Ramp to Next'.
	  it removes discontinuities between the
	  last end tempo and the current by altering the current one.
2017-03-01 01:58:53 +11:00
5c4a2025f1 Fix touching mute automation (mostly)
controllable->set_value() from GUI context will eventually queue
a session-rt command. By the time the realtime command runs, the
controllable needs to be in "touch" mode.

The AutomationController "toggle" UI worked around this by directly using
the underlying API (ignoring slaved-controls and ignoring groups).
The RouteUI's GUI wasn't able to write mute-automation at all.

This commit is a compromise: press + hold (touch) + release button.

(it may need further special-casing for _desc.toggled in
AutomationControl::actually_set_value(), also undoing automation-writes
is currently  not working correctly)
2017-02-28 05:01:17 +01:00
1071c0e788 Likely fix for bug: cannot change track colors in older 4.x sessions. 2017-02-27 20:51:17 -06:00
nick_m
d5fad959e6 probable fix for importing tempo maps that use non-quarter note pulse.
- actually i'm not certain that this is correct,
	  but it works ok Beethoven's fifth.
2017-02-27 20:16:10 +01:00
nick_m
e55b882a09 _group, group.. who cares? 2017-02-27 20:16:10 +01:00
nick_m
07b4da44bf clicking on curve text does the right thing. 2017-02-27 20:16:10 +01:00
nick_m
4496babc8f initial rework of tempo text display (numbers are curve items)
- move tempo numbers to a layer above the curve.

	- the offset of the text box in Marker is horrible here.
	  what to do?
2017-02-27 20:16:10 +01:00
nick_m
abd89ffa7d remove scroll wheel editing nonsense (tempo) 2017-02-27 20:16:10 +01:00
nick_m
5b38fbab4d fix compilation 2017-02-27 20:16:10 +01:00
nick_m
243fd7a428 remove 'mouse:' verbose cursor when shift-dragging a curve. 2017-02-27 20:16:10 +01:00
nick_m
25d78ef306 only allow 'ramp to next' if the next tempo is actually different. 2017-02-27 20:16:10 +01:00
nick_m
f69f546717 poor man's display of end tempo for ramps. 2017-02-27 20:16:10 +01:00
nick_m
3a7bc1fd3f Tempo Marks : set point colour by discontinuity, display non-quarter pulse if we are non-quarter.
- a jump in tempo by more than 1 ntpm results in a red
	 tempo mark pointer.

	- ignore UIConfiguration::get_allow_non_quarter_pulse()
	  when displaying note type in the marker text (only display
	  note type if we are non-quarter).
2017-02-27 20:16:10 +01:00
nick_m
f41748803a remove commented line 2017-02-27 20:16:10 +01:00
nick_m
bb8b229a1e fix tempo marker ramp to next. 2017-02-27 20:16:10 +01:00
nick_m
663d0e1743 add right-click 'Ramp to Next' tempo marker menu item. 2017-02-27 20:16:10 +01:00
nick_m
f8a6f8918d back to using shift-ctrl for pinch drag. set colours of affected curves. 2017-02-27 20:16:10 +01:00
nick_m
8e944953c6 highlight the tempo curve that is to be altered, modify text to suit. 2017-02-27 20:16:10 +01:00
nick_m
f4d51ee0d0 fix verbose cursor display when shift-dragging end tempo. 2017-02-27 20:16:10 +01:00
nick_m
636583e6ef restore pinch tempo. it now operates via shift + alt drag on the curve. 2017-02-27 20:16:10 +01:00
nick_m
211226983d remove tempo end drag (the control drag on the curve). a;ter tempo marker drag.
- holding down shift before initiating a tempo mark drag
	  alters the end tempo of the previous one as before, but
	  this is now a separate drag.
	- restore vertical dragging of the tempo mark to alter start/
	  end tempo. shift during the makrker drag alters start tempo.
	  xontrol + shift during the drag alters end tempo.
2017-02-27 20:16:10 +01:00
nick_m
c9387055e4 remove "Make Ramped" from right click tempo marker menu. 2017-02-27 20:16:10 +01:00
nick_m
1359f18543 fix formatting of bbtruler drag verbose cursor. 2017-02-27 20:16:10 +01:00
nick_m
97c4c2a28c complete changes to tempo type.
- this implements in the intention behind the previous commit.
	  a tempo mark is constant until its end has been changed by a
	  shift-drag on the next marker.
2017-02-27 20:16:10 +01:00
nick_m
ccb51a8ddb rework tempo editing.
most changes are due to a new design where tempo discontinuities at the
beginning of a ramped section may be set.
this allows easier mapping of live performance, especially in
the common case of a ramped ritard before the beginning of a new section.

feature summary:

holding constraint modifier (shift) while dragging the BBT ruler area
drags the tempo lines by changing the start tempo (as before)

holding copy modifier (control) while dragging the BBT ruler area
drags the tempo lines by changing the end tempo (ahem. not quite there)

dragging a tempo mark while holding constraint (shift) will change the
previous end tempo to match the marker position *worth trying*.

holding constraint and copy modifier (control + shift) while dragging
the BBT ruler area attempts to'pinch' or twist the surrounding tempi
sp that later ones are not repositioned (currently suffereng from
rounding errors)
2017-02-27 20:16:10 +01:00
dd72d2bf65 De-cramp the transcoding dialog widgets. 2017-02-27 09:49:35 -06:00
007808a6ad fix crash caused by thinko in 123fcf3cf 2017-02-27 16:39:22 +01:00
7cd70e0c91 make sure that when extending the selection in the editor and mixer, the clicked-upon track gets set_selected() called last
This makes it be the "first" selected strip for control surfaces and the editor mixer
2017-02-26 18:24:56 +01:00
f64441aa58 remove method no longer needed
Editor::track_selection_changed() is now invoked by EditorRoutes::sync_treeview_from_presentation_info(),
AFTER the Selection has been updated
2017-02-26 18:24:56 +01:00
5456fd5717 make Selection::set (TrackViewList*) more efficient and emit less PI::Change signals 2017-02-26 18:24:56 +01:00
e653da32c0 avoid doing needless duplicate work in Selection::add (TimeAxisView*) 2017-02-26 18:24:56 +01:00
02cf331403 upcoming codenames 2017-02-26 15:35:40 +01:00
96ec230c32 Fix windows builds, rename icons following 4e96285ba5 2017-02-26 14:26:13 +01:00
a5c2dc0525 Don't use upper-case in options (only headings) 2017-02-25 20:03:52 +01:00
123fcf3cff fix potential crash bug in RouteProcessorSelection 2017-02-25 19:55:39 +01:00
8c1e06a5e9 prevent double-emission of PresentationInfo::Change when making mixer-view selection set changes 2017-02-25 19:55:39 +01:00
18ec1840e7 Tweak preferences text 2017-02-25 17:44:08 +01:00
b37d3776d2 Tweak metering prefs: clarify default type behavior 2017-02-25 04:46:49 +01:00
841b15c453 NO-OP, re-arrange code 2017-02-25 04:46:46 +01:00
5b4f5c477d Snap-back fader on release (follow-up to e8cebac6a3)
When dragging a fader out-of-bounds (VCA slave constraint), move it back
on release.
2017-02-24 23:55:55 +01:00
4afa3aa65e Group-override for faders
Tentative solution. Eventually the gain_adjustment should be moved
into the PixFader or SliderController and a dedicated API
should replace  gain_adjustment.signal_value_changed()
2017-02-24 23:41:22 +01:00
a1a2e088a5 Allow to switch master-meter type in the toolbar-meter 2017-02-24 23:41:22 +01:00
d0286d3df1 NO-OP resolve an ambiguity, just because.
Due to  LevelMeterVBox : public LevelMeterBase, public Gtk::VBox;

LevelMeterBase::get_type() overloads Gtk::Widget::get_type(),
Glib::Object::get_type(), Atk::Implementor::get_type() etc..

Besides Ardour-style prefers not to use  get_...()
2017-02-24 23:41:21 +01:00
437ec10b31 gui: debug output for faderport/editor mixer strip sync 2017-02-24 23:10:09 +01:00
b83ea5bd49 Save Lua script file origin (for later updates) -- GUI+Session plugin 2017-02-24 16:10:14 +01:00
9e543beb56 Add some convenient public editor methods (for lua-bindings)
and s/get// in the old API for consistency.
2017-02-24 16:10:14 +01:00
89c02f4fd7 the daily dose of const'ness 2017-02-24 16:10:14 +01:00
3780a9526e re-order inheritance
LuaBridge only allows one parent class, others need explicit casts.
Allowing RoutUI to be passed as Selectable argument is handy.
2017-02-24 16:10:14 +01:00
1e4e97019d Lua bindings to access editor selection + region selection bindings 2017-02-23 22:32:32 +01:00
5d8a3ea2f0 remove explicit line-break (rely on wrap) 2017-02-23 17:40:33 +01:00
f484e8a923 Clarify prefs 2017-02-23 15:54:30 +01:00
nick_m
62cef7feff also fix flying percussive hits while copy-dragging. 2017-02-24 01:11:56 +11:00
nick_m
ae3c50c495 hotfix for flying percussive hits while dragging.
- Hit::position still may not be set correctly,
	  but this patch eliminates the error for now.
2017-02-24 00:36:58 +11:00
c373169f35 Move Select-All-Tracks into the Selection category. Currently used only when printing keybindings. But we should also use this for categorizing the keybindings dialog IMHO. 2017-02-22 18:15:55 -06:00
8e1c68eb63 GUI support to re-locate missing external (abs-path) files 2017-02-22 10:51:13 +01:00
75773a43d4 NO-OP: whitespace 2017-02-22 10:47:59 +01:00
9bfbde944b remove cruft 2017-02-22 10:47:59 +01:00
2926555e29 fix crash when removing a TimeAxisView from the selection 2017-02-21 19:11:14 +01:00
419006dd83 PBD::Signal<...>::connect() is already thread safe, so drop intermediate proxy/call_slot() invocation in handling Controllable::Changed within AutomationController 2017-02-21 18:45:29 +01:00
e00d35f1e8 Revert "ARDOUR_UI transport buttons should use ArdourButton::set_related_action()."
This reverts commit 35f35ad662.

This commit was a mistake: the controllables are needed to allow MIDI binding
to transport buttons.
2017-02-21 15:49:31 +01:00
9de5c61b9e better solution of 3c25d26e9 2017-02-21 12:25:57 +01:00
3c25d26e91 Fix potential crash at exit/close.
~DisplaySuspender's  PresentationInfo::unsuspend_change_signal
can try to update Stripable PresentationInfo for a session that's
no longer present.
2017-02-21 01:35:18 +01:00
c56635e71c Group-Tabs keyboard shortcuts
* The return of the ctrl+right-click (edit)
* and consistent shift+right click (remove)
2017-02-21 00:11:38 +01:00
b409a27f4b fix typo in prev commit 2017-02-21 00:07:47 +01:00
13cce8957c MB: prefs are detached initially 2017-02-20 22:55:46 +01:00
15eb6f716d fix thinko in prev commit 2017-02-20 21:52:13 +01:00
4ece934e66 Fix iterator off-by-one: Allow to move top-most track. via ctrl up/down 2017-02-20 21:37:50 +01:00
3a50975c3d First-time startup logic update.
When *not* copying old config, Ardour should display the "first time"
dialog.
2017-02-20 20:47:57 +01:00
5f5bdca15b Consistent VCA naming (Ardour/Mixbus) 2017-02-20 16:50:42 +01:00
6df23c4e65 consolidate Ardour+Mixbus code, fix duplicate SeparatorElem in MB. 2017-02-20 16:35:55 +01:00
8876955762 use "VCA" rather than "Control Master" in the GUI 2017-02-20 15:40:24 +01:00
006a4c0373 ensure that when mixer is shown in its own tab, it has a default focus widget, so that alt-m will always work 2017-02-20 13:58:54 +01:00
0aa631b6af Increase default size of script-editor pane 2017-02-20 03:57:53 +01:00
2157cd0e94 Lua binding for pango_cairo_layout_path (text outlines) 2017-02-20 03:56:32 +01:00
542b789a42 probable fix for crash while dragging playhead 2017-02-19 19:44:37 +01:00
94ec54a3c4 Consistent dialog title (match "Show Protocol Settings" button) 2017-02-19 17:14:59 +01:00
05149f9bc5 Connect Script Manager "Edit" -> Lua Scripting Window 2017-02-19 01:29:08 +01:00
ceb7884380 Build-in some doc (script types)
This should probably be optional, but there's space in the dialog.
2017-02-19 01:29:08 +01:00
b15bebd3c0 Remove unused ArdourUI code to add/remove Lua Session Scripts. 2017-02-19 01:29:08 +01:00
356a422531 Update menu for Lua
- remove "Session > Scripting" entry point
- change ActionScripts to LuaScripts (all of them sans DSP)
2017-02-19 01:29:08 +01:00
a732c7c9fa Allow to un/load Lua Session Scripts in the Script Manager 2017-02-19 01:29:08 +01:00
nick_m
b066ad3164 fix missing command in Editor::snap_regions_to_grid ()
- fixes 7246
2017-02-19 07:13:26 +11:00
695554ab9b re-layout script-selector (only grow description vertically) 2017-02-18 19:01:00 +01:00
92e203a19e Consolidate ActionChanged callbacks, add tooltips 2017-02-18 16:14:41 +01:00
2d50871034 Remove LuaCairo.color_to_rgba (now Ardour.LuaAPI.color_to_rgba) 2017-02-18 16:13:49 +01:00
2c992c093f Allow to un-assign action-scripts via shift+right-click 2017-02-18 02:24:23 +01:00
c8d6ddfd10 Don't scroll-jump when selecting all tracks 2017-02-18 01:25:13 +01:00
85e3d2158e Prevent direct and indirect selection of VCAs
the ::selection_filter() does not cover select-all and various other
indirect selection operations.
2017-02-18 00:45:37 +01:00
4258bad19d VCA spill should not show hidden tracks 2017-02-18 00:09:52 +01:00
dcce5f0080 Allow to re-scan VST plugins after changing VST-paths 2017-02-17 23:30:30 +01:00
09bb0bf1e6 Add gcc suggested parentheses 2017-02-17 23:29:12 +01:00
3bbb4b76f7 Add Lua API to convert Canvas::Color to Cairo RGBA 2017-02-17 23:28:03 +01:00
b5b9e1d1e5 Fix button sizing for IconRenderCallback 2017-02-17 20:51:15 +01:00
472f14c803 Allow Lua action scripts to provide a button icon 2017-02-17 18:58:11 +01:00
3b8348f009 Implement icon-render callback in ArdourButton 2017-02-17 18:58:11 +01:00
4f4400b764 PT import: Add MIDI import functionality
This change adds support for importing all MIDI regions
from a PT session onto a single track.

Unfortunately, currently we don't know how to set the start
offset of MIDI regions reliably, therefore all midi regions
get dumped at the beginning of the Ardour session.

Signed-off-by: Damien Zammit <damien@zamaudio.com>
2017-02-17 15:36:02 +01:00
cded378e17 Mark session dirty when changing scripts 2017-02-17 11:17:54 +01:00
61d038637a Allow binding Lua Action Scripts via right-click 2017-02-17 11:15:14 +01:00
3864f2c32c Version keybindings file.
Allow to run both Ardour 5.5 and later (changed bindings name)
with the same config folder.

Like with .color files, custom .keys files won't be taken into account
when updating to a new version.

This is mostly a stopgap solution. Eventually we'll have to come up with a
merge&prune mechanism for bindings or maintain a separate version for
these files. Hopefully some better idea will come up...
2017-02-17 00:59:48 +01:00
91cee14ca6 Fix route ordering (mixer TV lacks master-bus)
Skip master bus' order-key when re-ordering routes in the mixer.

This also fixes a related issue:
When a new track is added, Session::RouteAdded will call be handled by
Editor::add_routes AND Mixer_UI::add_routes, leading to calls to both:

- EditorRoutes::sync_presentation_info_from_treeview()
- Mixer_UI::sync_presentation_info_from_treeview ()

which potentially set different order-keys.
2017-02-17 00:44:02 +01:00
d2b823b3c5 Toolbar spacing: Add back one pixel of vertical padding, and preserve it regardless of which button sections are hidden. 2017-02-16 14:37:56 -06:00
2d0200209f Prevent "punch" and "mon" buttons from increasing toolbar height. 2017-02-16 20:49:18 +01:00
9c10fc5b5c Properly update main window-title.
This fixes an issue with Session > Snapshot & switch, not updating
the widow title to the new snapshot (and probably some other edge cases
where it was possible for a detached editor and main window to
have different titles).

The main UI now updates the window-title like the Editor on StateSaved.
(it may lead to dup updates with DirtyChanged, c'est la vie)
2017-02-16 16:07:59 +01:00
a31e70a7d5 check region action sensitivity from two more places that may alter it 2017-02-16 10:29:48 +01:00
4d05af8e71 improve logic for region action sensitivity settings 2017-02-16 10:29:48 +01:00
nick_m
858e44745b fix constrained region drags across tracks (7242). 2017-02-16 08:57:03 +11:00
d463720b6d simplify arguments to Editor::sensitize_the_right_region_actions() 2017-02-15 20:07:49 +01:00
3d3f2a79f6 use leave/enter from track canvas to be the primary driver of region action sensitivity
This works for context menus also, because GTK sends us leave/enter notify
events when they appear.
2017-02-15 20:07:49 +01:00
0a41daa932 classify all region actions based on how they get a list of regions to operate on; use this in Editor::sensitize_the_right_region_actions()
There are still problems because actions like trim_front()
that use the edit point get the edit point with different
results than the code that sensitizes actions
2017-02-15 20:07:49 +01:00
2cc94f8880 tentative steps in trying to fix region action sensitivity 2017-02-15 20:07:49 +01:00
03dc458645 Separate MSB/LSB MIDI Bank select 2017-02-14 23:53:23 +01:00
8eff36913c Save/restore location clock mode
- save mode separately for Editor-sidebar and Location Window
- cache mode (multiple calls to set_session())
- fix restore: after creating the editor, instant_save() is called,
  potentially overwriting the previous value.
2017-02-14 17:15:16 +01:00
cf66f894bb NO-OP: whitespace 2017-02-14 15:46:37 +01:00
7330357e1c Reset window-size when switching between custom and generic plugin UI.
Both views have uncorrelated geometry, apply one size to the other
makes no sense and usually results in odd window sizes, particularly
for custom plugin UIs with aspect-ratio constraints.
2017-02-14 01:05:43 +01:00
ca65101e49 Clarify session property (now that there's an action) 2017-02-13 23:01:11 +01:00
65b38322db GUI action Transport/RecordCountIn 2017-02-13 23:01:11 +01:00
0f485ffd6b reinstate ensure-time-axis-visible after move-selected-tracks 2017-02-13 22:22:53 +01:00
bd7507590e new implementation of move-selected-tracks
This does not modify the editor treeview/treemodel at all
but instead works directly on the PresentationInfo order
data. Likely needs more testing etc.
2017-02-13 22:10:18 +01:00
0f7ccb8adb update email address 2017-02-13 22:10:18 +01:00
9ce55c1b3d remove unused background expose 2017-02-13 18:44:59 +01:00
4022b86be0 credit where credit is due 2017-02-12 11:59:53 +01:00
Hiroki Inagaki
5668f6b40e Update Japanese translation 2017-02-12 11:59:40 +01:00
08353095df This is the wrong approach to this problem.
Revert "3 actions (trim-front, trim-back, set-sync-position) do not need to be region-selection sensitive."

This reverts commit 4aaf3fcb95.
2017-02-09 17:03:42 +01:00
6e476c515d NO-OP: whitespace conversion 2017-02-09 16:27:34 +01:00
ab105314fb when considering whether or not to autoscroll teh canvas, first translate allocation boundary into toplevel coordinates 2017-02-09 16:27:16 +01:00
182cb89733 NO-OP: whitespace 2017-02-09 12:40:59 +01:00
c816d34d68 explanatory comment and logic change to cover when we switch to the new session after save-as 2017-02-09 12:40:59 +01:00
668d970dd0 always hide splash screen after save-as session switch 2017-02-09 12:40:59 +01:00
5c26a21d49 NO-OP: whitespace 2017-02-08 22:24:17 +01:00
aef942da1b make rude alert buttons expand vertically to use all available space. 2017-02-08 22:23:43 +01:00
675c59652c NO-OP: whitespace changes 2017-02-08 20:00:49 +01:00
b911303fdd improved fix for #7208, hopefully 2017-02-08 20:00:36 +01:00
f4cb567fdb use centralized SMF tempo method in both places where we show it 2017-02-08 19:07:28 +01:00
234ea15499 do NOT remove tracks from selection during drag selection on the basis of geometry alone.
Membership of select-enabled route groups matters too.
2017-02-08 17:40:27 +01:00
62995bd38d stop a crash during selection 2017-02-08 16:27:36 +01:00
d806c973d6 Update Russian translation 2017-02-07 17:29:01 +01:00
4aaf3fcb95 3 actions (trim-front, trim-back, set-sync-position) do not need to be region-selection sensitive.
They get regions via ::get_regions_from_selection_and_edit_point().

Many other editor operations need to be manually evaluated for this change, also.
2017-02-07 16:51:32 +01:00
nick_m
bd8ab472f5 tempo dialog uses three decimal places in numeric entry. 2017-02-07 23:31:40 +11:00
c59dded55d Categorize the mixer actions. 2017-02-06 18:18:56 -06:00
d5f150b51b Add several new categories and re-sort some keybindings so they display more nicely in html printout. 2017-02-06 18:05:53 -06:00
c3d8967870 Some tweaks to default keybindings:
* Moved some actions to match the file organization: actions are in the order they appear on a qwerty keyboard
* Removed actions for F1 and F2, these were hiding View actions
* Removed action H for hide, which was conflicting with play-selected-regions
* Moved the grouping of jump-to-mark actions into Moving the Playhead
2017-02-06 12:52:40 -06:00
cdab4c9906 Revert to allowing stacked layer region view for MIDI tracks, for now. 2017-02-06 12:52:40 -06:00
nick_m
931910b046 hotfix for cross-track dragging bug with music-locked regions. 2017-02-07 05:08:54 +11:00
nick_m
b24dd49c1a update note length when dragging notes (over tempo change) 2017-02-07 03:10:02 +11:00
edd1061c3d save/restore VCA master state inside slaves, so that a reloaded session ends up back in the same state 2017-02-06 16:49:08 +01:00
nick_m
4161a60244 NoteDrag copy modifier detection is no longer explicit. 2017-02-07 01:56:47 +11:00
ea2b00c263 unused code, showing basics of how to define a custom gtkmm-2.4 treemodel for stripables.
Not used because it turns out that the model in the GUI
needs to be based on axisviews, some of which correspond
directly to Stripables and some do not
2017-02-05 15:51:00 +01:00
nick_m
987c1cb94a remove overzealous bounds check when dropping notes. 2017-02-05 05:26:18 +11:00
nick_m
5031bdcf10 midi note drags are music-based.
- wysiwyg (during drag) when dragging more than one note across
	  a tempo change.

	- introduces a muscal equivalent of snap_delta (only used for
	  note drags atm)

	- split earliest note in selection into a separate function

	- MRV::copy_selection() returns the equivalent _primary note
  	  to avoid offset hell.

	- RV::snap_frame_to_frame returns a MusicFrame

	- prevent note drag moving before region start.
2017-02-05 05:02:01 +11:00
fac04afbba If 'MidiRegionView::find_canvas_sys_ex()' fails, make it return a boost::shared_ptr<> (rather than returning an int) 2017-02-04 16:14:56 +00:00
70e4bb30a0 'CheckMenuItem' conflicts with an item already existing in MSVC 2017-02-04 16:14:55 +00:00
8e06f43f80 make more of an effort to ensure that the last element in Selection::tracks is the most-recently selected 2017-02-04 15:08:22 +01:00
efd859a0ee Fix a crash in rhythm ferret if the relevant plugin couldn't be found for some reason
The crash was caused by not catching 'failed_constructor()' (which gets thrown in the c'tor for AudioAnalyser).
2017-02-04 12:58:33 +00:00
d1599abad3 Some paths weren't getting set up correctly for the MSVC build
Fortunately, only the VAMP_PATH was causing a problem. The others were only relevant for a Debug build
2017-02-04 12:54:19 +00:00
nick_m
f7b005ebf1 clean up patch change/sysex headers. 2017-02-04 22:57:36 +11:00
nick_m
2eca71e6f1 set sysex height & position on redisplay. 2017-02-04 22:57:36 +11:00
nick_m
3e4eaf3991 improve sysex data display.
- don't add a new SysEx canvas item every time we zoom or drag.

	- speed up redisplay generally using PatchChange-like method
	  for finding items (find_canvas_sys_ex() in boost::unordered_map).
2017-02-04 22:57:36 +11:00
nick_m
52d3c2216d more inconsistent menu item fiddling. 2017-02-04 22:57:36 +11:00
nick_m
1cfa6bd69f more messing about with inconsistent menu state. 2017-02-04 22:57:36 +11:00
nick_m
f336f4e6d1 allow "Glue to Bars & Beats" in region menu to be in an inconsistent state.
- toggling an inconsistent lock style sets all selected regions
	  to AudioTime
2017-02-04 22:57:36 +11:00
nick_m
04c484089c non-primary music-locked regions follow tempo changes while dragging.
- the contents still don't update but position is much
          more wysiwyg.
2017-02-04 22:57:36 +11:00
nick_m
d38dc86380 rework RegionMotionDrag so that we can actually drag a region to zero.
- did this ever work?
2017-02-04 22:57:36 +11:00
nick_m
b04f89be51 make dragging a region from the list not crash.
- its still a fake event, but we can at least get the snap correct.

	- playlist->add_region() parameters were whacky
	  (for Playlist::add_region_internal()?)
2017-02-04 22:57:36 +11:00
nick_m
970ed12fee fix thinko wrt Drag::adjusted_frame() 2017-02-04 22:57:36 +11:00
nick_m
650c1381d4 setup_snap_delta() need only take a framepos_t. 2017-02-04 22:57:36 +11:00
nick_m
59daffea1d rework snap
snap now fills in a struct (MusicFrame) which contins a snapped frame
along with a music divisor.
this gives useful information wrt magnetic snap which may or may not
have rounded to an exact musical position.

region position may now be set musically (using quarter notes for now).

this patch fixes several problems in the current code:

	- dragging a list of music-locked regions now maintains correct
	  musical offsets within the list.

	- splitting regions using magnetic snap works correctly (#7192)

	- cut drag should now work correctly with magnetic snap.

	- musical length of split midi regions is no longer frame based.
2017-02-04 22:57:36 +11:00
306647b1d0 Tweak MIDI channel dialog layout. 2017-02-02 21:44:43 -06:00
bc79fc07ce Remove redundant MIDI submenu. The items are now in the main menu. 2017-02-02 21:44:43 -06:00
f84cdb3381 fix crash when closing session w/action hooks
drop_callback() deletes the Callback itself (lua state is invalid)
2017-02-02 21:42:57 +01:00
b759bae0cd Right-click on a VCA to assign it to the selected channels. 2017-02-02 11:02:10 -06:00
71003b0235 toolbar building from file given by command line 2017-02-02 14:36:02 +01:00
2283e3b6ce canvas tester tweak 2017-02-02 14:16:27 +01:00
c20ed6b9f6 toolbar creation from text files 2017-02-02 14:16:17 +01:00
61138a9ef8 shorten enum/string for icons by avoiding Gtkmm2ext namespace 2017-02-02 14:09:42 +01:00
d9dc2592d0 include ArdourIcon in declared enums 2017-02-02 14:05:11 +01:00
82f104b8f0 use different source file for canvas tester 2017-02-02 13:29:17 +01:00
f50c99e2a9 additional commit for removal of TransportControllables 2017-02-02 13:05:05 +01:00
35f35ad662 ARDOUR_UI transport buttons should use ArdourButton::set_related_action().
I have no idea what I or anyone was thinking with the silly
TransportControllable nonsense, but it's all gone now.
2017-02-02 13:05:05 +01:00
693baa8430 GUI to select export session/snapshot name 2017-02-02 12:44:08 +01:00
9144cbe93a playing games with canvas (grid) test 2017-02-01 21:58:20 +01:00
33bd5b3939 use new Grid API 2017-02-01 21:58:20 +01:00
46041c0afa valgrind option (commented) for canvas tester 2017-02-01 21:58:20 +01:00
b4cc6083b6 more sophisticated canvas tester 2017-02-01 21:58:20 +01:00
52718b3411 some initial bits of work on canvas allocation 2017-02-01 21:58:20 +01:00
6e09e72f11 Skip no-change re-ordering of tracks/busses
e.g. move top-most track up, bottom-most track down.
2017-01-31 20:42:33 +01:00
353eb5601c Don't allow to select VCAs in the route-list 2017-01-31 20:42:33 +01:00
92e02707a4 Potential clock info-text color-glitch fix <span color>
Don't switch between set_text() and set_markup(); always use markup because
set_markup() modifies the attribute list of the pango-layout.

This might fix: "Switch Int. clock to MTC and back to Int. and the
indicator redraws with improper colors"
2017-01-31 11:44:40 +01:00
b157034e83 Prefer General MIDI Synth as default instrument 2017-01-30 16:42:11 +01:00
f2a9c5f625 prevent crash when deselecting track from mixer.
Need to defer PresentationInfo::Change till after we're done
changing our own cached set of axis views
2017-01-30 12:55:43 +01:00
366a247306 left/right align mixer-strips 2017-01-30 11:47:06 +01:00
nick_m
ab052d0565 speed up midi ghost region update
- as MRV removes invalid notes from the GR, we
	  can simply update all events after checking vertical visibility.
2017-01-30 01:46:38 +11:00
d29f6bde5e prevent suggestion that MIDI tracks can be set to stacked view 2017-01-29 15:03:29 +01:00
34da2896c6 Keep tracks visible when re-ordering them in the editor 2017-01-29 09:34:09 +01:00
007ad4e334 fix up default key bindings to use correct binding groups after recent Editor -> Common migration 2017-01-28 21:32:00 +01:00
806bfeced7 more modified key bindings 2017-01-28 18:51:03 +01:00
80ee2f2c4d move 10 more actions from Editor/* to Common/* 2017-01-28 18:51:03 +01:00
3346c69f2d two more modified key bindings 2017-01-28 18:08:39 +01:00
7835a8d9e1 change default keybindings for those using actions just moved from Editor/* to Common/* 2017-01-28 18:06:42 +01:00
3c2e69ea42 move 15 actions out of Editor/* namespace, and into Common/* 2017-01-28 18:02:28 +01:00
570b921e47 further improvement to Mixer_UI::move_stripable_into_view() 2017-01-28 17:08:40 +01:00
c98abcf293 improve the behaviour of Mixer_UI::move_stripable_into_view()
Don't change anything if the strip is visible; if we have to move to show it, try
to show the requested strip in the middle
2017-01-28 16:48:20 +01:00
c786328966 use VCA full name in strips and track headers 2017-01-28 16:06:44 +01:00
415c841645 more consisten code to set menu item name from VCA name 2017-01-28 13:04:32 +01:00
Ed Ward
c0c13d7c45 Patch to bug 0007204 : Some options in the Group List context menu are not working 2017-01-28 13:04:32 +01:00
0092442a64 mark loop button insensitive when there's no loop-range 2017-01-28 12:05:50 +01:00
5a6ddb034e ensure mixer shows a recently selected strip
This doesn't guarantee that is it the MOST recently selected strip
2017-01-28 11:46:04 +01:00
c5047ec431 ensure that most recently stripable is visible in editor 2017-01-28 11:31:11 +01:00
5ba85b0850 end of selected tracks list is the most recently selected 2017-01-28 11:20:24 +01:00
08bca2a07d minor logic changes to editor selection
Prevent mulitple PresentationInfo::Change signals if toggling several
tracks
2017-01-28 11:20:05 +01:00
8ca53c4497 make editor respond to track seleciton change again 2017-01-28 11:16:50 +01:00
cc82fc675b remove editor/mixer selection change signals; make editor and mixer use PresentationInfo::Change more correctly; make Selection a bit smarter when setting track selection 2017-01-27 22:17:53 +01:00
155b1dc4c8 remove debug output/ifdef 2017-01-27 22:17:53 +01:00
e5aa0d774e use RAII for class-wide PresentationInfo::Change signal, along with properties to describe what changed 2017-01-27 22:17:53 +01:00
nick_m
0938b6a9c1 add undo for changing marker lock style from menu 2017-01-27 03:39:33 +11:00
nick_m
7b9784fff4 mark session dirty when dragging tempo markers. 2017-01-27 03:05:32 +11:00
nick_m
86a471f93f MidiGhostRegion micro-optimisation. 2017-01-27 00:58:09 +11:00
nick_m
e7415c6619 MidiRegionView::redisplay_model() - code cleanup 2017-01-27 00:56:39 +11:00
7ef09f98ff Fix mixer continuous multi-selection
Shift+select needs to iterate over strips as they are visually ordered.
(Previously the order of adding/loading strips was used)
2017-01-26 14:08:58 +01:00
6de15a79cf improve range drag semantics
If a track is selected during the drag (by moving the mouse pointer into a new track), but it was not
selected at the start, and is then de-selected (by moving the mouse back out of it), then remove
it from the selection.
2017-01-25 21:46:24 +01:00
6a823402e6 This turns out to have been a band-aid over a deeper issue in libcanvas, fixed
in commit 49422aa89

Revert "fix an issue with selection rects not being redrawn correctly"

This reverts commit fa1a7ae9b9.
2017-01-25 16:54:48 +01:00
fa1a7ae9b9 fix an issue with selection rects not being redrawn correctly 2017-01-25 16:47:42 +01:00
8432a77329 MIDI note copy needs to adjust pitch of new notes before adding them 2017-01-24 23:07:27 +01:00
f2c31a3098 re-fine preferences dialog part 13 of 27 (probably):
* expose try-autostart engine
* move Session settings to sub-menu (general was getting to large)
2017-01-24 17:35:07 +01:00
5c9a5e3362 styleguide #6 2017-01-24 13:47:01 +01:00
Daniel Sheeler
33c74357f0 Meter point toggle button now uses a popup menu instead of toggling 2017-01-24 13:38:23 +01:00
47de9314cc suffix region gain to TAVitem name 2017-01-24 13:37:20 +01:00
8dedea5ffa implement copy-drag for MIDI notes.
Probably some corner cases to be fixed, but pretty functional and largely modelled
on existing code (paste, drag, step add note etc.)
2017-01-23 21:58:02 +01:00
4333a80cb2 make undo/redo work for Regions > Edit > Close Gaps 2017-01-22 22:16:08 +01:00
Hiroki Inagaki
5a5ed37384 Update Japanese translation 2017-01-22 22:03:55 +01:00
50b25571bc consistent capitalization 2017-01-21 23:29:08 +01:00
198ba51c3a ardour runs fine in rr version 4.4.0, add scripts 2017-01-21 23:10:33 +01:00
da081e0108 parse modified-with for up to 5 snapshots. 2017-01-21 13:00:07 +01:00
10d87ceb83 Don't inhertit "last modified" for snapshot 2017-01-21 12:51:10 +01:00
d9a4d03c94 Translatable Metronome tooltip, formatting and typo fix. 2017-01-21 01:46:40 +01:00
Daniel Sheeler
e315b25eb3 Update metronome tooltip on gain change 2017-01-21 01:38:53 +01:00
d4c48390cc Show last modified in recent-list 2017-01-21 01:19:24 +01:00
0808b87138 Add GUI part to immediately fan-out multi-out instruments on track creation 2017-01-21 00:40:18 +01:00
7960e1ddbf GUI follow up for new-MIDI-track API change 2017-01-20 21:47:09 +01:00
17881b3221 update UI, new info API, display created_version in tooltip 2017-01-20 18:16:32 +01:00
6d4fc96f0b Elaborate valgrind options 2017-01-20 13:54:15 +01:00
3dbdc4d837 Leave some notes about memory-leaks 2017-01-20 13:54:12 +01:00
d6106b22cb Breathe at exit: allow event-loops to clean up 2017-01-20 13:53:53 +01:00
c6a7c9417e Plug some mixer memory leaks 2017-01-20 13:53:45 +01:00
1d2a76f239 Free some one time alloc of the UI (cleaner valgrind output)
No incremental leaks here..
* downcase (const char*) uses strdup, caller needs to free
* free allocated cursors when the editor is destroyed
* drop static editor lua-instance & bindings
* delete allocated gtk image/icons
2017-01-20 13:53:37 +01:00