13
0
Commit Graph

8416 Commits

Author SHA1 Message Date
nick_m
2c28a053b4 Sort stem and port export dialogs by route order key.
Also use separate column for checkbox and track name to improve layout.
2015-04-04 23:20:15 +11:00
dc1fa4a975 improve option name consistency. 2015-04-04 05:28:56 +02:00
de45d01722 add missing space and hyphen. 2015-04-04 05:09:30 +02:00
2c89ec5c0b Query backend’s setup_required() every time. fixes #6041 2015-04-04 02:39:30 +02:00
f1147a30a7 fix hard-coded version in config copy dialog; use yes/no buttons, and default to yes 2015-04-03 11:35:37 -04:00
4a44f90218 remove hard-coded program name 2015-04-02 21:40:40 -04:00
60589268e8 fix another untranslatable 2015-04-03 03:26:21 +02:00
f3b9816bb6 wording tweak.
Sorry translators.
2015-04-02 19:13:38 -04:00
eba21335b9 Revert "[Summary]: Main menu item "Save Template..." should be disabled during record process."
(record_restricted_actions concept does not exist in Ardour, so this was a
mistaken cherry-pick).

This reverts commit d13fe65b89.
2015-04-02 16:35:53 -04:00
Valeriy Kamyshniy
21193c6fca [Summary] Adding option to avoid sorting the routs in Session::foreach method. Now ARDOUR_UI::every_second do not spend time for unnecessary sorting when calling update_disk_space().
[Reviewed] Paul Davis
[Required review] YPozdnyakov, GZharun
2015-04-02 16:32:41 -04:00
Valeriy Kamyshniy
5001a680fc [Summary] Sort the routes of session before creating time axises unconditionally. This will keep tracks sorted even in case a new session created from template.
Conflicts:
	gtk2_ardour/editor_routes.cc
2015-04-02 16:32:28 -04:00
YPozdnyakov
d13fe65b89 [Summary]: Main menu item "Save Template..." should be disabled during record process. 2015-04-02 16:18:17 -04:00
Edgar Aichinger
c466cd3ea3 update German translation 2015-04-02 21:44:46 +02:00
c38c486936 Update gtk2_ardour UK English localisation 2015-04-02 19:31:30 +01:00
de0eaad53a use plural form for menu item 2015-04-02 14:19:12 -04:00
22ca914f1b Revert "fix typo, list output bundles properly."
This reverts commit ba8b91679a.
2015-04-02 19:01:22 +02:00
4d6ac2a835 auditioning [external] files does not need peaks.
fix inspired by #6227
2015-04-02 18:53:05 +02:00
4f0457264e revert plugin UI kbd handling so that we get expected forwarding 2015-04-01 16:54:09 -04:00
1b1c66b77d reverse logic in plugin GUI key handling 2015-04-01 14:13:14 -04:00
f201b19604 reverse logic in ArdourWindow key handling 2015-04-01 14:01:21 -04:00
57613dc0cc ArdourDialog and ArdourWindow don't change magic widget focus 2015-04-01 12:44:35 -04:00
nick_m
c94d352f56 Potential fix for AU window close crash. 2015-04-02 03:32:21 +11:00
a27e5e6cb8 remove an “a3” reference. 2015-04-01 17:59:32 +02:00
e31d6a90f7 protect RouteUI's destructor from crashes caused by MeterStrips with no route.
MeterStrip class heirarchy needs fundamental redesign.
2015-04-01 11:58:31 -04:00
9b2a78a0b2 make MeterStrip::state_id() safe against null _route member 2015-04-01 11:58:31 -04:00
nick_m
35f69656e8 Window focus handling fixes.
Many windows were not getting key events.
Use magic focus infrastructure (built for widgets) to deliver key events
via window focus in/out.
2015-04-02 02:41:49 +11:00
36140d4d01 updated i18n files from ./waf i18n 2015-03-31 20:16:25 -04:00
32c4ce9b39 Revert "rename excessively old chinese translation"
This reverts commit 428c2f0a9f067c9f14b948543d80877b3f3215ee.
2015-03-31 20:16:25 -04:00
487c273200 rename excessively old chinese translation 2015-03-31 20:16:25 -04:00
d6574c9c40 remove duplicated calls to update solo/mute state from RouteUI descendants.
RouteUI::set_route() already does the right thing. Also remove RouteUI::mute_changed() since its
only role was to handle the mute change signal from a route, which boost::bind() makes unnecessary
since we can connect update_mute_display() directly.
2015-03-31 12:31:06 -04:00
207ac16731 move "been here before" path concept into libardour, and use it appropriately at startup 2015-03-31 11:27:47 -04:00
ea5e94977b pre-release versions were and are a bad idea 2015-03-31 11:27:47 -04:00
Edgar Aichinger
bf7930dac3 update german translation #6213 2015-03-31 17:10:36 +02:00
47110c983c fix OSX/PPC 10.4 long maths 2015-03-31 16:05:15 +02:00
e2271c84e7 another “unexpected” translation update. 2015-03-31 04:26:28 +02:00
fa57422ee2 remove linux specific menu reference (sorry translators) 2015-03-31 04:16:24 +02:00
28730b4939 fancy plural form. 2015-03-31 04:16:24 +02:00
fa4ef6a632 add a startup wrapper script for cfgtool 2015-03-30 21:51:55 +02:00
75e0f5a023 remove GUI object state when tracks/busses are removed.
Not doing this results in accumulation of useless GUI object state which is never cleaned up.
Taken from work by Grygorii Zharun.
2015-03-30 15:27:23 -04:00
16be88cdb6 Skeleton backend for brave volunteers.
callback based backend based on CoreAudio/Midi
backend (sans the actual system/HW _pcmio, 
_midiio)
2015-03-30 21:23:52 +02:00
e03882eec7 Update Russian translation 2015-03-30 09:19:00 -05:00
365a47f95a increase contrast of control buttons, fixes #6146 2015-03-30 09:19:00 -05:00
3be99984b3 don’t apply selection to new sessions
<Selection> should not be saved in
global preferences, but there is no single point
for catching that.
2015-03-30 09:19:00 -05:00
d480cd0e88 processor control: update control-element tooltip 2015-03-30 09:19:00 -05:00
cf8f450f56 remove a dead variable initialization. 2015-03-30 09:19:00 -05:00
3c97f6684c Replace a closing bracket which managed to get lost somehow 2015-03-30 09:19:00 -05:00
nick_m
d49fecac9f Mixer visibility prefs changes teke effect "live". 2015-03-30 09:19:00 -05:00
546cd974ec Fix mute of MIDI tracks with channel forcing.
This moves MIDI channel filtering into a reusable class and moves filtering to
the source, rather than modifying the buffer afterwards.  This is necessary so
that the playlist trackers reflect the emitted notes (and thus are able to stop
them in situations like mute).

As a perk, this is also faster because events are just dropped on read, rather
than pushed into a buffer then later removed (which is very slow).

Really hammering on mute or solo still seems to produce stuck notes
occasionally (perhaps related to multiple-on warnings).  I am not yet sure why,
but occasional beats always.
2015-03-30 09:19:00 -05:00
6f2ca4194c Display length & check digit of entered EAN-13 in metadata dialogue 2015-03-30 09:19:00 -05:00
561f62ba63 Add EAN barcode field to session metadata dialogue
Add an EAN13MetadataField type to the session metadata dialogue, and use it for
entry of the EAN barcode in the 'album' tab.
2015-03-30 09:19:00 -05:00
2a7cf7455a Drag/Drop work-around midi note bleeding
During DnD, the region uses the 'old/current'                                                                                                                                                                                                
midi_stream_view()'s range and its position/height calculation.

Ideally DnD would decouple the midi_stream_view() for the
region(s) being dragged and set it to the target's range
(or in case of the drop-zone, FullRange).
but I don't see how this can be done without major rework.

For now, just prevent visual bleeding of events in case
the target-track is smaller.
2015-03-30 09:19:00 -05:00
cdc3e4970a it would have been too much of a good thing. 2015-03-30 09:18:59 -05:00
Edgar Aichinger
2d0adea86e update German Translation #6213 2015-03-30 09:18:59 -05:00
8db5aa5a50 dropzone: honor AutoConnectMaster. 2015-03-30 09:18:59 -05:00
d2aadfe142 fix some DnD thinko & edgecases.
* Handle large (delta > 1) movements into the DZ
which are not due to invalid-drop positions, but
caused by laggy GUI or rapid user movements.

* ignore busses when moving out of the DZ.
2015-03-30 09:18:59 -05:00
6d077b2605 fix thinko on bounce actions 2015-03-30 09:18:59 -05:00
c33b56855e add colon to match other labels 2015-03-30 09:18:59 -05:00
857a7dd328 pack the xrun options back together 2015-03-30 09:18:59 -05:00
d66bd88db5 fix a few -Wsign-compare 2015-03-30 09:18:59 -05:00
0fc51921e4 Another DnD fix. fix move onto (but not over) busses. 2015-03-30 09:18:59 -05:00
adb372d4a6 Heuraka! Nightmarish rework of DnD code.
Allow to drag multiple regions from different tracks
to/from the dropzone.

Busses & Automation-lanes are ignored, as are
hidden tracks.

Any region may serve as mouse drag anchor.

fixes #6172 and #6176
2015-03-30 09:18:59 -05:00
eb8587ddb6 DnD: query mouse y-pos only once. 2015-03-30 09:18:59 -05:00
Raphaël Doursenaud
6bfeb54168 Merge French translations 2015-03-28 23:35:11 +01:00
Frédéric Rech
71a32919a0 French translation update 2015-03-28 21:05:43 +01:00
Raphaël Doursenaud
e5422f3617 First pass updating french translation 2015-03-28 21:04:16 +01:00
d3d7428a18 tap-tempo: reset running average whenever tapped tempo deviates by +/- 20% 2015-03-27 13:23:33 +00:00
3127587f9a Go back to using g_get_monotonic_time() for tap tempo
Using ev->time doesn't work as well as I'd hoped, so revert to the previous
method with g_get_monotonic_time().
2015-03-27 13:22:38 +00:00
5c11e43f08 Clam points to valid values on drag end.
Fixes bug #6214.

It would be better to do this while dragging, but this would require rewriting
much of the drag code to keep track of a cumulative y delta since the current
position of points would be "sticky" and prevent any movement at all, so this
will have to do for now.
2015-03-26 13:22:57 -04:00
3b38d7d8a6 Keep automation lines within their parent (#6215). 2015-03-26 11:48:13 -04:00
a53bd72697 remove crufty variable 2015-03-25 17:21:13 -05:00
7b1d21128b fix dropzone region ordering 2015-03-25 22:06:05 +01:00
3c55eb1e39 DnD, only use track relationship
Ignore any routes or automation lanes during
region y-axis distance calculation.
2015-03-25 17:15:32 +01:00
a9b2f97395 jot down some thoughts about drop-zone dragging. 2015-03-25 15:57:16 +01:00
b90c38639a fix drags crossing automation lanes. 2015-03-25 14:43:11 +01:00
nick_m
1580c6d635 Fix some strings incorrectly marked for translation.
My apologies to translators.
2015-03-25 23:31:23 +11:00
f851a0bf3a two more drop zone checks
see also 6cfb6ef
2015-03-25 13:05:24 +01:00
d05c09c1f6 consistent message session start->end. 2015-03-25 12:33:51 +01:00
6cfb6ef665 fix drop-zone drops
There is no special ‘-1’ indicator any more.
i->time_axis_view is unbound to allow relative
positioning when dragging multiple regions.
2015-03-25 12:11:49 +01:00
b34f26a7d0 retain Send control visibility state, fixes #6210 2015-03-25 11:10:58 +01:00
29abc678dd fix potential crash when video tools are N/A 2015-03-25 03:39:47 +01:00
9696469289 implement drags from off-canvas to the drop-zone.
fixes #6195 #6205
2015-03-25 01:48:29 +01:00
b637c2223f Major rework of DnD.
Allow dragging multiple regions from multiple
tracks across any number of hidden tracks and 
automation lanes.

fixes #6176 and #6172
2015-03-25 01:48:29 +01:00
d67d4d129f remove Ardour from MSVC message dialog and use PROGRAM_NAME 2015-03-24 10:55:40 -05:00
1296b7fe89 fix spelling error 2015-03-24 10:55:33 -05:00
92ba2d5780 partial fix for Canvas Region DnD & comments
Fixes #6172 and #6176 for single region drags.

Further work is needed if multiple regions on different tracks are dragged over hidden tracks
(see inline comment).
2015-03-24 15:25:39 +01:00
5bbea60546 another potential fix for video-export filename/crash 2015-03-24 03:28:07 +01:00
d44273e8a4 make mixer strip “Add XXX Port” translatable 2015-03-24 02:57:25 +01:00
e6ccbc024c fix video-export-dialog memleak/assert 2015-03-24 01:32:32 +01:00
a122542597 fix empty/unset sync source preference.
(non JACK backends w/JACK-transport)
2015-03-23 23:18:47 +01:00
Pavel Fric
f078c68767 update Czech translation, #5724 2015-03-23 20:28:01 +01:00
pablus
5c634f1d65 update spanish translation, #6204 2015-03-23 20:24:30 +01:00
Raffaele Morelli
d73baad337 update italian translation, #6209 2015-03-23 20:21:49 +01:00
53ac99a26a rework check for old configuration files
check early on (before announcement-check, bundle-
env and ARDOUR_UI ctor have a chance to create the
new config dir)
2015-03-23 18:31:55 +01:00
a09e942eec OSX: pango & gtk-pixbuf modules be gone. 2015-03-23 16:27:34 +01:00
c68da4236e use built-in pango & gdk-pixbus modules (Linux) 2015-03-23 16:15:11 +01:00
65731eaa5c work around gtk filechooser bug. 2015-03-23 15:36:15 +01:00
fb015b1be9 fix “Denormal Dropdown” inconsistency 2015-03-23 14:20:17 +01:00
ec86ca2a4d replace LinkButton
make link work on OSX and Windows:
Gtk-WARNING **: Unable to show ‘…’: Operation not supported
2015-03-23 00:23:06 +01:00
91405a1b2f consolidate plugin freebie messages, fix #6151 2015-03-23 00:05:47 +01:00
675444c7dd Engine: remember state only on “Apply” and “OK”
filed under “another scary engine dialog change”
2015-03-22 01:28:33 +01:00
7e2f8bd872 amend 157299a, really fix “Show Toolbars” 2015-03-21 21:52:40 +01:00
157299a2f0 “Show Toolbars” is not saved and on by default. 2015-03-21 21:38:36 +01:00
3812925a62 consistent ordering of Ruler Actions. 2015-03-21 19:44:58 +01:00
9cdb0e2765 Change default zoom to Playhead 2015-03-21 19:44:58 +01:00
7dd51f6fb3 properly apply default state
Actions that also have a private editor variable
need to be applied regardless of XML state.
2015-03-21 19:44:58 +01:00
614fc8c7bb fix visual undo.
TODO: Check if it’s feasible/required to add a
GUIPropertiesChanged signal and have axis-views
subscribe to it.
2015-03-21 16:50:47 +01:00
5dc7866132 only temp. disable visual state saving. 2015-03-21 16:09:35 +01:00
f121d04d6d vertical fit: hide tracks in-between 2015-03-21 16:09:35 +01:00
nick_m
85587c19a4 Right align some more numeric entries in the meter/tempo dialogs. 2015-03-22 00:33:27 +11:00
ee959e73fd tap-tempo: try to make it work properly from the very first click 2015-03-21 12:19:25 +00:00
322ec39761 error-log button: acknowledge new errors w/o hiding Log
override toggle, in case new errors show up while
the log window is already visible
2015-03-20 22:48:53 +01:00
6981e0495d disable light theme until it gets fixed
(or at most past the 4.0 release tag)
2015-03-20 22:40:47 +01:00
d682ced80f Error-log button: reset on LED click & button click 2015-03-20 22:12:40 +01:00
1ca9cd228e update track-height scaling:
“number of visible tracks”: count automation lanes
as tracks. Distribute equally.

“Summary View”: the visual lane represents both
track + automation. Set the total height.

Left to do: recursive “Shrink” and “Expand” tools
if there is no explicit selection.
2015-03-19 21:55:28 +01:00
f1ce87a699 add API to select TAV height mode.
preparation for further Summary and Number of visible
track count fixes.

* “Only Self”: don’t resize child-views (old default)
* “Total Height”: distribute height equally among 
   all visible child [automation] lanes
* “Height per Lane”: given height should be applied
   to all sub-views.
2015-03-19 21:47:34 +01:00
6874bca886 vertical scroll stop on automation lanes 2015-03-19 20:32:59 +01:00
f39d450640 fix very unlikely null pointer dereference. 2015-03-17 17:01:50 +01:00
247d0493bf Change the way we call 'Gtk::Main' when building with MSVC
This is just to accommodate the fact that 'command_line_parse_error()' uses pointers to argc & argv
2015-03-17 14:54:39 +00:00
a2bcb815ef Error Log button, only handle LMB
Allow to fall though to the bar’s context menu.
2015-03-17 11:59:30 +01:00
741bcc9fa4 Abutton: only LMB clicks are “clicks”. 2015-03-17 11:58:59 +01:00
99f28d1966 initialize uninitialized variable
just another hint for clang/static analysis.
2015-03-17 04:11:19 +01:00
edb86929f5 amend 6aa6c2d, queue redraw for custom-LED change 2015-03-17 04:02:59 +01:00
6aa6c2d552 AButton: decouple indicator color and active state.
If a custom LED color is used, the LED does not
reflect the ExplicitActive state. Hence the 
Body Element (if visible) should be used just like
for buttons without LED indicator.
2015-03-17 02:08:41 +01:00
bf43019eed change the error-log button to toggle the log window 2015-03-17 02:05:02 +01:00
5c0e3d4f04 always pack the log-LED into the status widget.
not only does this provide consistent look & feel,
but now the status-bar can never be empty.

Before to this change, a small useless black
rectangle remained when all elements were hidden.
2015-03-16 23:39:23 +01:00
c3d76155a9 fix typo 2015-03-16 17:07:26 -05:00
3a1071e5e9 use tri-state text-less LED for error-log button. 2015-03-16 19:04:36 +01:00
28e4708825 AButton: allow to set custom LED color (for > 2 states) 2015-03-16 19:04:36 +01:00
d57546dea2 add a warning when using a free/demo version 2015-03-16 13:03:33 -05:00
11a702149e avoid possible shared remote control IDs in large (>317 track) session 2015-03-16 13:00:09 -05:00
7b1c7efc1c work-around engine dialog crashes.
Thanks to brilliant detective work by John E. we
can now reveal that the actual crash in
EngineControl::print_channel_count() is caused
by a seemingly unrelated exception.

The root cause however is waves/ASIO backend reporting a
buffersize that is not in list of available buffer-sizes
it reported earlier.
2015-03-16 15:09:59 +01:00
26ba494083 prevent single-axis drags in the editor summary from affecting the other axis.
In theory, the EditorSummary::get_editor()/set_editor() calls
should be no-ops if the values are just passed between them,
but this turns out to be not precisely the case. Rather than
figure out exactly how ensure that this is true, mark the
new rect boundaries for the non-moving axis with -1 so that
we know to leave it alone
2015-03-15 12:13:03 -05:00
nick_m
135e865302 Add route dialog order hint changes.
Add an option to insert new routes at the top of the list ("First").
Reorder/rename the entries in the dialog.
Session's _order_hint is now the signed int it always wanted to be.
2015-03-16 04:01:30 +11:00
a5db1d588e Fix dragging regions to/from drop zone (#6137).
The previous code assumed that dragging up from the drop zone into the last
track is always valid.  This is not true when the type of the dragged region(s)
do not match that route, which resulted in a crash and/or bizarre behaviour.

This took entirely too long to figure out, there are some real nightmares in
the region drag code...
2015-03-15 03:45:26 -04:00
7679f7802b improve port-matrix text contrast 2015-03-14 22:59:07 +01:00
b6eeeaa95b desaturate port matrix colors
grün und blau schmückt die sau.
2015-03-14 22:59:07 +01:00
0544a4039b note to self. 2015-03-14 22:59:07 +01:00
nick_m
8a37c1cd83 Non-transient ArdourDialogs and ArdourWindows appear in the centre
of the screen initially (first use in a new session) rather than at
the mouse position.
2015-03-15 06:25:06 +11:00
nick_m
4e865a1c54 Session import dialog is no longer a transient for the editor. 2015-03-15 05:23:09 +11:00
b1ff942101 OSX has a wall clock already. 2015-03-14 18:28:37 +01:00
fe7dd8d862 tweak status-bar spacing 2015-03-14 18:28:36 +01:00
83babb8a52 automatic error log window popup be gone. 2015-03-14 18:28:36 +01:00
nick_m
7d188c8a1e Remove the use of Window::set_keep_above() throughout startup.
This has been tested, but needs testing on more platforms (check for
obscured windows/dialogs.
Also use WIN_POS_CENTER in the "ask about loading session" dialog.
2015-03-15 03:06:39 +11:00
nick_m
80e1687482 Keep the left hand list pane of the mixer the same size when resizing
the mixer window (thanks JohnE).
Speeds up redisplay a bit.
2015-03-15 03:00:06 +11:00
nick_m
bf72a02f74 Fix incorrect track ordering when creating a session from a template
(supplied order keys are correct).
This really shouldn't be needed, but historically there have been races
between the treeview and the editor order keys.
Interesting to note that there have been no reported ordering bugs when
loading sessions.
2015-03-15 02:57:39 +11:00
b72fc759c0 Only sound selected notes momentarily (#6142).
This is debatable, the "sustained until mouse release" behaviour is handy
sometimes, but this way seems like what most people probably want.

Also, this "fire it and forget it and let it delete itself a bit later" thing
with MidiPlayer makes me nervous.  I guess it's unlikely someone manages to
select a note then delete a track within 100ms, but, well...
2015-03-14 01:12:29 -04:00
86c6541323 Move PC flags to avoid obscuring region name.
Fixes bug #6179.  Top vs. bottom seems pretty arbitrary to me, and this solves
the obscuring issue (which is quite common since there are often PC events at
the start of MIDI files), so bottom it is.
2015-03-14 00:21:29 -04:00
700cb13b36 Fix note visibility (#0006168). 2015-03-13 22:30:11 -04:00
51f4e33dd1 Don't expand track headers to show MIDI stuff.
Fixes bug #0006138.  This solution does make the other label move when settings
are changed (presumably what the fixed width stuff was for), but I don't think
this is a big deal.  Lesser of two evils, at least.
2015-03-13 22:09:13 -04:00
ffd32ae5e1 Right-clicking on the Loop/Punch ruler should "Do Something". 2015-03-13 16:25:59 -05:00
nick_m
4d349f3d3a Align number entry in the meter dialog to the right in lieu of finding
the reason behind ComboBoxText's apparent miscalculation of its' layout
width).
2015-03-14 03:56:14 +11:00
nick_m
4f57a56f04 Don't show stock icons in any buttons (explicitly setting an image will
still work).
2015-03-14 03:53:43 +11:00
nick_m
88e5fccbf1 Don't set the following dialogs to be transients for the editor:
Control point dialog
Edit note dialog
Both types of tempo dialog
Both types of meter dialog.
2015-03-14 03:52:03 +11:00
1cca79258a call me Mr. Backend
simple blocking (no callback) PortAudio Backend
2015-03-13 13:32:14 +01:00
b58c1df07d check for old configuration files and copy if user requests it.
A restart is required. There is a circular dependency between the config files and the GUI, and this restart breaks it
2015-03-12 17:45:42 -05:00
b8e9e17fac always show language dialog on windows 2015-03-12 20:31:06 +01:00
7a730c2295 NOOP whitespace fixes. 2015-03-12 20:31:06 +01:00
nick_m
1a6bacb1f0 Don't mess with the track selection at all from the editor route list
when adding tracks (thinko in last commit).
2015-03-13 04:01:55 +11:00
3bd3dc04b1 fix 0096aa5 (at least for mingw) 2015-03-12 17:57:10 +01:00
nick_m
9ec393422f Add new routes to selection in the editor, rather than the editor
route list.
Fixes new tracks not being selected.
Also begin selection op history when adding routes.
2015-03-13 02:47:16 +11:00
37a9ef0501 indicate MIDI port names (vs audio system ports) 2015-03-12 16:18:06 +01:00
0096aa5391 try to clean MSVC/Windows mess in main(), hopefully without breaking anything 2015-03-12 10:06:15 -05:00
ec4eb85cb9 OSX use xjadeo directly (no IPC indirection) 2015-03-12 13:19:26 +01:00
421d4aae2e further ardourbutton ellipsis fixes 2015-03-12 12:26:23 +01:00
e7355ee2ae fix/amend ae5c614 2015-03-12 03:24:09 +01:00
8217bd07f2 fix ‘ export’ installdir typo 2015-03-12 02:37:10 +01:00
ae5c614bf8 prepare windows i18n 2015-03-12 02:37:10 +01:00
1fca43791c more verbose captions on automation track headers; include the plug name. 2015-03-11 15:36:52 -05:00
8445e8c283 add video-monitor to timeline context-menu 2015-03-11 21:19:19 +01:00
69dc9451a7 NOOP, add a missing ‘p’ 2015-03-11 20:06:41 +01:00
0272c4f749 renice connection button labels
* pango ellipsize text
* use pretty-names if available
2015-03-11 20:06:41 +01:00
nick_m
c9d10158f6 Metadata windows are no longer transient windows.
Comment out input and output IOSelectorWindows being set to KEEP_ABOVE
in the route ui (just in case there is a good reason for it).
2015-03-12 04:06:20 +11:00
nick_m
73d2d44652 Add route dialog is never a transient window.
Fixes a hack where it's transient parent was used to give an order hint
(for the order key of any new tracks).
This commit adds a new combobox "insert_at" to let the user tell us
where they want new tracks to go.
2015-03-12 03:46:11 +11:00
f214488d0f Groups created from the (edit,mix) windows should share the same default properties.
In the past, we chose different defaults in homage to ardour's old mix/edit groups.
But that wasn't a very good idea.
For now they have all properties enabled and the user can disable them as-needed.
It might also be nice to make the user's property selections perist for new groups.
2015-03-10 15:58:01 -05:00
06bea13b7c increase shuttle speed display granularity. 2015-03-10 11:00:53 +01:00
2d20bcab4a dramatically reduce ShuttleControl CPU usage 2015-03-10 10:53:56 +01:00
2e82aa2743 clean up and refine shuttle control rendering. 2015-03-10 03:49:00 +01:00
23762ed225 circles and circles and circles, again my friend
escape the cairo vicious circle, fixes varispeed playback
& major CPU hog on OSX.
2015-03-10 02:48:14 +01:00
37b0e8ac90 Use ev->time rather than g_get_monotonic_time() for tap tempo
Connect signal_button_press_event of 'Tap Tempo' button rather than
signal_clicked so we can use the time member of GdkEventButton to calculate
the tapped tempo. It seems to me that this is the right thing to do.
2015-03-09 19:19:16 +00:00
f7a2df1c9a Make editing of meter work at the current position
Add a function TempoMap::meter_section_at(), similar to
TempoMap::tempo_section_at() but returning the meter section at the given
position, and use this to make editing meter changes from the main clock
work on the meter that's in effect at the current position.
2015-03-09 19:17:53 +00:00
99e15d9402 Make left-click on tempo/meter in main clock edit current tempo/meter 2015-03-09 19:17:52 +00:00
760e00b028 Remove useless parameters from MainClock constructor
Remove (always false) duration & is_transient and (always true) editable,
with_info & follows_playhead parameters from MainClock constructor, and just
pass the requisite true & false values along to the AudioClock constructor
instead.
2015-03-09 19:17:52 +00:00
523f703b3b Move 'poor_mans_glob()' into libpbd 2015-03-09 18:32:55 +00:00
63c4f8ad3f Revert "explicitly shutdown engine at exit"
This reverts commit c12b7bc9d8.

ARDOUR_UI::finish() already does this.
2015-03-09 18:32:14 +01:00
e243d328a4 Fix a couple of issues when displaying the 'Preferences' dialog on Windows:-
1) When changing the 'Default folder for new sessions' we weren't responding to the appropriate signal (so the change wasn't getting saved in our user's 'config' file). We now respond to the 'selection-changed' signal.

2) If the above path happened to contain a tilde character we weren't interpreting it to mean the user's home folder. I've copied across a function called 'poor_mans_glob()' which Ardour uses elsewhere for dealing with this situation in other file dialogs.

Once we confirm that issue #2 is now working for all platforms, I'd suggest moving 'poor_mans_glob()' into libpbd. At the moment we have at least 3 definitions of it (all identical) scattered around in various places.
2015-03-09 15:57:15 +00:00
nick_m
4d66c6c1ab Add route dialog responds to enter key being pressed. 2015-03-10 02:27:40 +11:00
nick_m
44d4652995 Introduce theme preference "transients follow front" which, when enabled,
sets transient windows to be transients for the front window when switching
between the editor and mixer. This is the current behavior on non-osx
builds.
When disabled, there is no reparenting of transient windows. This is the
current behavior on osx.
This preference defaults to off.

Also fix "all windows are dialogs" checkbox being out of sync with the ui
state.
2015-03-10 02:25:25 +11:00
59f12bd31a fix ‘pure virtual’ crash at exit.
Finally tracked down.
AudioEngine::instance()->Halted.connect_same_thread() .. call_slot().
Since the calling thread has (eg JACK) has no event loop: crash

__cxa_pure_virtual + 18
PBD::EventLoop::invalidate_request(void*) + 61 (event_loop.cc:71)
sigc::trackable::notify_callbacks() + 63
BaseUI::~BaseUI() + 173 (base_ui.cc:64)
AbstractUI<Gtkmm2ext::UIRequest>::~AbstractUI() + 137 (abstract_ui.h:59)
Gtkmm2ext::UI::~UI() + 279 (gtk_ui.cc:131)
ARDOUR_UI::~ARDOUR_UI() + 3556
ARDOUR_UI::~ARDOUR_UI() + 21
ARDOUR_UI::~ARDOUR_UI() + 25
main + 2396  

at event_loop.cc:71
    Glib::Threads::Mutex::Lock lm (ir->event_loop->slot_invalidation_mutex());
print *ir->event_loop
    (PBD::EventLoop) $1 = {}

see  http://pastebin.com/zvWJbqwf for a call_slot call on OSX/Coreaudio.
2015-03-09 03:04:27 +01:00
c12b7bc9d8 explicitly shutdown engine at exit
Callbacks like EngineHalted or DeviceListChanged 
can be deadly while the UI is being torn down.
2015-03-09 01:41:34 +01:00
4100e1f7b7 Bundle API user update 2/2
cherry-pickable follow up to 0582221
2015-03-08 22:40:00 +01:00
90110c4308 allow to drag gain-envelope points 2015-03-08 20:18:50 +01:00
ba8b91679a fix typo, list output bundles properly. 2015-03-08 19:02:32 +01:00
1ad42b249b use pretty names in port-matrix
maybe this should be an option? So far it’s
the matrix only.. gotta start somewhere.

PS. No, this is not a new feature. Ardour not doing this
is a major bug that severely reduces usability:
system:midi_capture_47 WTF? ;-)
2015-03-08 19:02:31 +01:00
80bb72bbe2 fix drag-motion over TAV w/o view() 2015-03-08 03:42:33 +01:00
50041cb450 avoid non-integer loop conditions. 2015-03-08 02:01:48 +01:00
23a6526de7 remove unneeded debug output 2015-03-07 17:10:19 -06:00
f4e5f078af another 0cb096a fixup 2015-03-07 22:07:15 +01:00
49657dc56c more OSX weirdness fixes 0cb096a 2015-03-07 21:45:52 +01:00
de078a04e2 Fix LV2 preset deletion and clash between plugins.
Before this, LV2 preset deletion in Ardour was doubly broken: the wrong file
was being removed, and removing the correct file would only result in a broken
preset.  This change uses a new version of Lilv which has a more sophisticated
mechanism for preset deletion.

Also, fix "clashing" presets saved with the same name for different plugins, by
prefixing the plugin name to the bundle (this is now a recommendation in the
LV2 preset specification).
2015-03-07 14:54:03 -05:00
0cb096a978 Use Ardour widgets consistently in plugin UI.
Several reasons:

* This previously looked horribly inconsistent.

* The Gtk selector was broken for plugins with many presets,
  making it impossible to select presets.  For whatever reason,
  the use of a menu fixes this bug.

* Towards a hierarchical menu for banked presets.
2015-03-07 14:04:45 -05:00
7eb849ad21 Increase editable region alpha slightly.
Previously the region was nearly invisible when editable which is
problematic ("oops, I made a new region").  The distinction isn't quite as
profound as it probably should be, but I don't want to mess with the other
region colours too much.
2015-03-07 14:04:45 -05:00
dd6ee69ef8 engine dialog, update device is changed. 2015-03-07 14:35:33 +01:00
82e23ecd2a fix device changes..
backend_changed() stopped the backend.
2015-03-07 14:35:32 +01:00
c9a053c47a Hide automation state options for MIDI controls.
These don't do anything, except mislead the user into expecting this stuff
works like track automation.
2015-03-06 04:14:00 -05:00
818ed5fe12 update Engine Dialog when devices are dis/connected. 2015-03-06 06:24:56 +01:00
408090adce Add MIDI readahead to options editor. 2015-03-05 18:48:33 -05:00
a8aae56d92 Handle edits while playing precisely.
This avoids stuck notes if active notes are edited, but without stopping all
active notes in the region on any edit as before.

This implementation injects note ons in places that aren't actually note
starts.  Depending on how percussive the instrument is, this may not be
desired.  In the future, an option for this would be an improvement, but there
are other places where "start notes in the middle" is a reasonable option.  I
think that should be handled universally if we're to do it at all, so not
considering it a part of this fix for now.
2015-03-05 17:30:31 -05:00
f6f64d3f81 get started on coreaudio/midi backend 2015-03-05 16:46:20 +01:00
411c3ee70a possible fix for #6187 - assert(backend) 2015-03-01 16:48:14 +01:00
03229f4fe9 add AU cache/blacklist actions to prefs. 2015-02-28 15:52:28 +01:00
803a239310 MSVC - accommodate some newly introduced calls to 'rintf()'
('rintf()' isn't available in MSVC)
2015-02-28 13:01:02 +00:00
3c3586a4e1 AU presets: allow to save & directly use. 2015-02-28 08:04:14 +01:00
60bb5986e2 rework video-export dialog, remember settings 2015-02-28 02:38:18 +01:00
09e187630a VTL: add webm export-preset and amend 1184660. 2015-02-28 02:36:59 +01:00
c90400364a prepare saving video-export settings.
* migrate dialog from Editor to UI.
* make it a WM proxied window
* prepare applying state after construction..
2015-02-28 02:36:58 +01:00
c0411de949 video export: allow to use ffmpeg format-defaults 2015-02-28 02:36:58 +01:00
15f57d01cf video-export dialog: allow keyboard navigation 2015-02-28 02:36:58 +01:00
e77e7f1f3d fix carbon GUI focus/re-exposure 2015-02-27 19:43:36 +01:00
2249b98f53 cabron? 2015-02-26 19:51:30 +01:00
f4203cce7e Potential fix for confusion for Input/Output buttons on tracks with audio+midi ports 2015-02-25 17:19:44 -06:00
fbdf6a8151 recover the most recent audio setup settings from config 2015-02-24 14:29:02 -06:00
a0eeb80885 fix embedded plugin UI keyboard handling
When the GUI is opened the first time all is fine, focus is on the
embedded widget. However once a user presses one of the preset buttons
(Add, Save,...) there is no possibility to return focus to the
embedded widget. Ardour always 'sees' it as focus=GtkButton and passes
the event to the editor.
2015-02-21 03:16:04 +01:00
642e4950b9 hook up focus_button for LV2 GUIs 2015-02-21 03:00:33 +01:00
12ad41675d fix memory leak in case LV2 GUI fails. 2015-02-19 20:39:26 +01:00
b489385bf1 fix some static-analysis warnings 2015-02-19 20:37:58 +01:00
3f8583f8d6 stop dragged regions moving to the dropzone during autoscrolling towards the top track 2015-02-18 12:27:11 -05:00
dd8f2cfe18 fixes for non-overlapping fade in/out even in regions not at zero 2015-02-16 16:27:50 -05:00
6fd947fe82 Increase transparency of Loop rectangle so tempo lines are visible
Should fix bug#6163
2015-02-16 11:52:20 +10:00
ef99814f7a add john and todd to contributor list 2015-02-14 07:52:36 -06:00
5b3ff655f1 Fix LV2 UIs with spacey paths (e.g. Pianoteq). 2015-02-13 22:00:38 -05:00
cc7f9d7f46 fix up recent cherry-picks from waves' tracks 2015-02-13 17:08:25 -05:00
236f549caa insanely complex fixes for dragging to and from the drop zone.
This probably breaks some of ardour's functionality (e.g. layered mode), but seems to
be either just right or very close to it for tracks

Conflicts:
	gtk2_ardour/editor_routes.cc
2015-02-13 17:00:30 -05:00
8304471062 fix up recent cherry-picks from waves' tracks 2015-02-13 16:42:05 -05:00
6f98f91f18 prevent fade in/fade out on audio regions from overlapping each other 2015-02-13 16:22:08 -05:00
456374c995 implement axis-limited dragging 2015-02-13 16:21:57 -05:00
994dff91a2 detect if drags appear to be vertical or horizontal as we cross the move threshold
Conflicts:
	gtk2_ardour/editor_drag.cc
	gtk2_ardour/editor_drag.h
2015-02-13 16:21:37 -05:00
eb45b3baaa fix behaviour of region-copy-drag when using the dropzone.
The copied regions all had a null playlist pointer, so they all ended up on
the same (new) track
2015-02-13 16:19:06 -05:00
78d76c197e allow normal right trimming even if the start of a range is at zero
Conflicts:
	gtk2_ardour/editor_drag.cc
2015-02-13 16:18:24 -05:00
bc2271b43e After dragging from multiple tracks to the dropzone, create the right number of new tracks.
This does not address the visual flattening that occurs before the drop
is complete. Doing that is complex and there is no immediate solution
visible. The result after the drop is complete is correct, however.
2015-02-13 16:17:27 -05:00
193a276e22 add a common test-failed indicator 2015-02-13 16:10:47 +01:00
a3857b5d2c When building with MSVC, follow Robin's lead and add support for a new env var (SUIL_MODULE_DIR) 2015-02-13 11:23:59 +00:00
ecd265222a Add/edit tempo/meter change at right position with 'delta to edit cursor'
Find the absolute position of the main clock when 'display delta to edit
cursor' is set when adding/editing tempo/meter changes from the context
menu.
2015-02-12 18:06:16 +00:00
24e8e865a6 Ignore playhead when finding delta from edit position for main clocks
Pass 'ignore_playhead == true' to Editor::get_preferred_edit_position()
when calculating offset of the primary and secondary main clocks if 'delta
to edit cursor' is selected, so that if the edit point is playhead, the
selected marker (if any) or mouse position will be used as the delta origin
instead.
2015-02-12 18:06:16 +00:00
1973243a98 Separate out creation of xrun markers from Editor::mouse_add_new_marker()
Remove the is_xrun parameter from Editor::mouse_add_new_marker(), and just
create the marker directly in ARDOUR_UI::create_xrun_marker(), so that xrun
markers don't become automatically selected when they appear.
2015-02-12 18:06:16 +00:00
7de6128169 Add tempo and meter editing functions to main clock context menu
Add 'Edit Tempo/Meter' and 'Insert Tempo/Meter Change' to the main clock's
context menu.
2015-02-12 18:06:16 +00:00
ee6ecf9034 A few whitespace fixes
A few trivial whitesapce fixes, including replacing leading spaces with tabs in
editor.h.
2015-02-12 18:06:16 +00:00
16346296d3 windows: deploy suil modules 2015-02-12 17:37:24 +01:00
11cfdd4c6d remove use of TimeRectangle 2015-02-11 21:59:38 -05:00
9090057f6e When setting the duration of a TimeAxisViewItem, do not round before computing pixel width 2015-02-11 21:59:38 -05:00
baf10dc4e3 Editor::sample_to_pixel() always returns an integer value, but it should use explicit rounding 2015-02-11 21:59:38 -05:00