13
0
Commit Graph

9317 Commits

Author SHA1 Message Date
6723f075d6 post-export scaleable layout. 2016-02-11 14:14:01 +01:00
2b4ac72e5d Add button to Engine Dialog to choose between Portaudio callback and blocking API 2016-02-11 12:15:07 +10:00
d54a320374 Show/Hide midi calibrate button based on AudioBackend::enumerate_devices
Rather than use an ifdef to only pack the button on linux just hide the button
if the backend doesn't enumerate the devices.
2016-02-11 12:15:07 +10:00
fa033a7293 cont'd work on Post-Export Analysis GUI:
* vertically centered EBU-R128 numerics
* stereo waveform
* spectrum annotations
* SoundFile Info Table
2016-02-11 02:22:54 +01:00
05e59a06a2 Fix bug #6766, Crash when creating new Session while one is currently open 2016-02-11 09:52:36 +10:00
90e35c7143 Fix bug #6762, MIDNAM note read outs don't work when dragging MIDI note
Also fixes it so the key is selected in the piano roll header
2016-02-11 08:17:18 +10:00
2b42dc13fd exported waveform annotation 2016-02-10 22:35:01 +01:00
ee31253187 GUI for optional analysis 2016-02-10 22:35:01 +01:00
4ac9ae4037 cont'd work on Post-Export Analysis GUI. 2016-02-10 19:29:12 +01:00
040b61e0bc Update Export Report GUI 2016-02-10 15:11:45 +01:00
4d67739c72 Post-export Analysis GUI 2016-02-10 03:06:47 +01:00
883a6a3d4e UI updates for export-abort 2016-02-09 21:37:28 +01:00
d56a44bf36 UI updates for detailed export state. 2016-02-09 13:19:34 +01:00
df76996aaa insert time: ignore mouse as edit point
This is arguable, but at least is now consistent with 'remove time'.
2016-02-06 11:35:45 +00:00
05345048a6 insert time: remove pointless local variable 2016-02-06 11:23:16 +00:00
b69a980d3b Make name of undo action for 'Remove Time' consistent 2016-02-06 10:21:44 +00:00
b9a3e33bf7 Add a simple check for valid duration in 'Insert/Remove Time' 2016-02-06 10:21:44 +00:00
8821569f4a Remove debugging printf 2016-01-31 22:18:49 -06:00
22a14a56f3 use new selection API to avoid double signal when a track or tracks are SET as the selection 2016-01-29 16:15:41 -05:00
fbe236999d modify Selection API to provide (default-valued) "with_signal" argument to all ::clear_*() methods
This allows the clear methods to be used before calling ::add(), to avoid the
emission of a signal saying "there are no <foo> selected right now".

There should be no side-effects from this commit.

Note that correct use of this new API is complex, and requires avoiding the use
of wrapper methods like clear_objects().
2016-01-29 16:15:41 -05:00
c0a843a905 fix device-list update concurrency issue.
It may happen that during push_state_to_backend() a device is
reconfigured in a way that triggers a "Device Changed" callback before
the engine is started. This callback can trigger a change to the
configuration that will be used when the engine is actually started.

This has been seen on OSX in conjunction with Aggregate Devices
(even if the aggregate is not used, but the device which is used
is also part of an aggregate) 

example: HW changed callback arrives, device-list is re-populated,
*A*irplay" is at the top of the list, Airplay supports only 44.1K,
Samplerate changes... later save also writes this new rate to the file.
2016-01-29 01:12:53 +01:00
3332633d19 Editing from a control surface must have the ability to ignore mouse location.
Add mark_in and mark_out actions that explicitly use the playhead as the edit location.
2016-01-28 13:46:33 -06:00
458a2b723c Use visible playhead location for editing during a jog-wheel event. 2016-01-28 13:46:33 -06:00
893b51bda2 Center the playhead for stationary_playhead playback.
This avoids a visual discontinuity when playback is initiated after a jog-event.
2016-01-28 13:46:33 -06:00
aedde11862 Initialize Editor::clicked_selection to prevent programming error dialog/exit
This was triggered when reloading session and immediately duplicating range with
keyboard shortcut. As clicked_selection was uninitialized it would try to use
an invalid index into the TimeSelection.
2016-01-28 13:42:37 +10:00
45e8bda65f Change duplicate range to use time range/s rather than a single region
This should fix bugs #4980, #4984, #4986 and #6579
2016-01-28 12:25:16 +10:00
d1c35636f0 satisfy some pedantic compilers, #6748 2016-01-26 15:14:55 +01:00
bfbf260eaf when using InverseGroup for rec-enable, do not collect group members and pass them to a session RT event method 2016-01-25 22:10:43 -05:00
c338057b7b NOOP: whitespace fixes 2016-01-25 22:08:47 -05:00
5fd07fe3af when using InverseGroup for solo, do not collect group members and pass them to a session RT event method 2016-01-25 22:08:23 -05:00
7b6142ed99 when using InverseGroup, do not collect group members and pass them to a session RT event method 2016-01-25 22:06:41 -05:00
dd32c05cda GainMeter(Base) now has an explicit gain control given to it 2016-01-25 11:47:44 -05:00
452e39f8a3 Make horizontal scroll increment consistent in ruler and track canvas areas
In response to a comment in #6722, as there is little delineation between the
ruler and track canvas areas it makes sense to keep the scrolling step the same
to avoid unintended jumps in scrolling if mouse cursor moves between areas.
2016-01-25 17:44:22 +10:00
570eb73ff3 no reason to have group edit dialog be modal 2016-01-22 11:58:31 -05:00
23794eca5b rename Controllable::WholeGroup => InverseGroup to reflect real intent.
Add logic to RouteGroupMember::use_group() to implement the real intent of InverseGroup
2016-01-22 11:58:31 -05:00
9e5b7db89f first compiling, mostly working version of group controls changes 2016-01-22 11:58:31 -05:00
eee07ac351 NOOP: whitespace fixup 2016-01-22 11:58:16 -05:00
0c9249604f when leaving an active automation state, update fader displays to show correct current value 2016-01-22 11:58:16 -05:00
f315c0910d Fix bug 6735, Take into account snap to when stretching regions in Editor 2016-01-21 14:07:49 +10:00
ab292183dd Bug #6722, Add UI config option to always use mouse position as zoom focus on scroll
This means that mouse zoom scrolling behaviour is consistent on the ruler
canvas area and track canvas area.

The config option defaults to true so this means the behaviour of Mixbus will
be unchanged but in Ardour the ruler area will now follow the option so by
default will use the mouse position as zoom focus when zooming rather than the
zoom focus setting.
2016-01-21 11:25:56 +10:00
6ba6cce799 Refactor code into Editor::temporal_zoom_step_mouse_focus method 2016-01-21 11:25:56 +10:00
72bdfc38a8 Fix/implement #6292, Shift + scroll wheel Scrolling in the ruler area
Keep the same scrolling distance per event as when scroll left/right is used.

Scrolling in the ruler area is different than the track canvas area which I'm
not sure is a great idea as there is not much delineation between the two areas
but as the ruler area has some other different behaviour it is probably
acceptable/useful.
2016-01-21 11:25:56 +10:00
2a13891970 Change scrolling in the Editor track canvas summary area
Keep scroll distance consistent when scrolling up and down with horizontal
modifier as when scrolling left to right.

Scroll horizonally by half a page so that no sections of the canvas are skipped
when scrolling.

Scroll by half a page rather than a step like when scrolling in the track
canvas area as it is a summary area so larger steps seem acceptable and having
it use the same scroll distance as when scrolling in the track canvas seems
pointless as you would then just scroll in the track canvas area.
2016-01-21 11:25:56 +10:00
08cbe0532c Refactor scrolling in Editor ruler canvas area into two utility methods 2016-01-21 11:25:56 +10:00
743e324c6a Remove goto in Editor::track_canvas_scroll 2016-01-21 11:25:56 +10:00
c6805c1454 Refactor scrolling track canvas in Editor class into two utility methods 2016-01-21 11:25:55 +10:00
Pavel Fric
cd377f1278 Czech translation update #6739 2016-01-21 00:49:10 +01:00
27d82af077 add some horz and vert zoom actions; remove some whitespace from the code of the ui-actions, so they are easier to see and maintain 2016-01-18 18:24:14 +01:00
16623b1cb3 add more remote transport toggles for touchOSC: midi_panic, toggle_roll, stop_forget, set_X_range, quick snapshots. also add boilerplate for monitor controls, but those are not implemented yet 2016-01-18 18:24:14 +01:00
64c9198d60 add group disposition argument to Route::set_gain() and use it in various UIs
Executive decisions were necessary in a couple of places about the correct group disposition
behaviour, notably faderport and OSC surfaces
2016-01-18 12:11:09 -05:00
1948b50a68 working version of new gain control design 2016-01-18 12:11:08 -05:00
d1033819bd change ownership of the AutomationControl used by Amp.
It used to be owned by Amp. Now it is owned by Amp's owner
2016-01-18 12:11:08 -05:00
ef7c6730cb Groups: Fix un/set hidden/show should reset RID for tracks involved. 2016-01-17 14:17:02 -08:00
d4aae03653 scrolling actions should not require that a track selection exists 2016-01-16 20:29:14 -06:00
aeaf0610d4 GUI for latency-measurement signal-level 2016-01-14 19:25:23 +01:00
f2b7d9af92 NO-OP: enums implicitly start at zero
this allows this file to be included to look up enums (bindings)
2016-01-14 19:10:27 +01:00
084af96bf4 Change handling of Midi note selection to eliminate signal emission/delays.
Each MidiRegionView(MRV) is connected to the Selection::ClearMidiNoteSelection
signal that is used to notify the all MRV instances to clear their note
selection.

The MRV class also has a private static SelectionCleared signal that is used to
signal other MRV instances when their selection has been cleared. When the
Selection::ClearMidiNoteSelection signal is emitted it causes each MRV to also
emit the SelectionCleared signal. So the emission takes quadratic time.

With 1500 MRV instances emission takes about 2.2 seconds on my machine, and
some operations like track selection cause it to be emitted 3 times(another
issue).

The Selection class in the Editor knows which MRV instances have note
selections, as it is notified by MidiRegionView whenever the selection count
becomes zero or becomes non-zero. Clearing the Note selection should then just
be O(N) and direct calls can be used rather than signals.

This change removes both the signals and uses the existing references between
Selection and MRV class to control note selection. There should be no
behavioural changes in Midi note selection with this change.
2016-01-14 20:41:44 +10:00
b93a9e2601 Add debug bit for selection debugging output 2016-01-14 20:41:43 +10:00
ed8c88d697 don't allow to delete AU presets in the UI
because the backend is not ready for this.
2016-01-13 18:01:39 +01:00
df5c5d338a space bar action (Transport/ToggleRoll) should still start transport if synced to Engine (JACK) 2016-01-12 08:28:54 -05:00
André Nusser
ef9713d5c6 Comment remaining unsolved bug. 2016-01-12 13:45:39 +01:00
André Nusser
f979d9c0a6 Don't show a ghost note when draw mode is entered over a note. 2016-01-12 13:45:39 +01:00
André Nusser
616c1aa0ce Clean enter_internal and leave_internal in MidiRegionView. 2016-01-12 13:45:39 +01:00
André Nusser
39bd216725 Fix two ghost note drawing problems.
A ghost note could appear:
1) above the region.
2) inside another note even though we haven't yet entered it.
2016-01-12 13:45:38 +01:00
André Nusser
76237a696c Hide MIDI ghost note when over existing note. 2016-01-12 13:45:38 +01:00
André Nusser
688fe8504b Hide ghost note when switching from draw to internal edit mode.
Before it was only hidden after moving the mouse.
2016-01-12 13:45:38 +01:00
André Nusser
2d786617bb Fix appearing ghost note after drag select in internal edit mode. 2016-01-12 13:45:38 +01:00
eea8d8e6c0 check sidebar re-order constrains early on. 2016-01-10 00:28:00 +01:00
28f8b7d5d6 retain expansion-state when reordering plugins in the sidebar 2016-01-10 00:28:00 +01:00
2be5131ea1 fix compiler argument order (ldflags/loadlibes) - patch from Rodney Dawes 2016-01-09 19:03:43 +01:00
6a45e4a2b1 GUI update for plugin-preset-list API change 2016-01-09 15:22:40 +01:00
3718b4109b index plugins before loading state (favorite order) 2016-01-08 22:07:21 +01:00
8f63c81ca9 better version than prev. commit (avoid name ambiguity) 2016-01-08 21:53:12 +01:00
b3a1ea664e fix favorite plugin sort (after plugin-scan) 2016-01-08 21:12:48 +01:00
5a766dc24d indicate monitor-state 2016-01-08 14:22:02 +01:00
559649c338 use config value to avoid race on session-setup. 2016-01-08 11:34:28 +01:00
027ffb1b37 monitor-section: re-connect to static actions 2016-01-08 01:31:20 +01:00
425843d2fd Update Russian translation 2016-01-08 00:40:41 +01:00
4be4f8fb62 don't allow to delete factory presets 2016-01-07 22:34:19 +01:00
4bd4790d11 use new API to query presets 2016-01-07 17:23:39 +01:00
34244b3c69 only show plugin context-menu if there is a selection 2016-01-07 14:35:10 +01:00
727d6128f1 remove debug output 2016-01-07 13:38:48 +01:00
c4b8c03c1a binding expects BackSpace not Backspace 2016-01-06 21:17:04 -06:00
YQ-YSY
9b50022e3d Update zh.po
translate english -> chinese all done.
2016-01-05 12:30:59 -05:00
920c56775f safe default button focus for deleting playlists 2016-01-05 15:48:35 +01:00
d1cfd95591 fix monitor-section state restore.
Start counting at zero, no weird +1 here, -1 there,
action names are GUI internal anyway.
2016-01-03 21:44:19 +01:00
e343434b60 UI port-events are not limited to outputs. 2016-01-03 20:28:16 +01:00
396644dcf2 fall back to use video-duration from container if stream duration is n/a
this fixes issues with some .mkv files encoded with
libebml v1.2.0 + libmatroska v1.1.0
2016-01-03 19:50:39 +01:00
9e3299f97d change Controllable::set_value() API to include grouped control consideration.
This also removes Route::group_gain_control() and associated machinery.
Not yet tested with Mackie or other surfaces. More work to done to
start using the group capabilities, and also potentially to add
or derive more controls as RouteAutomationControls
2016-01-02 04:58:30 -05:00
38f199e355 Processors: separate drag-sources and drop-targets 2016-01-01 13:28:47 +01:00
ca6ee56347 kunterbunte Monitor-Sektion
reduce color diversity and clean up color definitions of
the monitor section: mute, solo: use mixer-colors, prefix all MS-colors
with "monitor section"
2016-01-01 13:28:47 +01:00
acc05bde4a fix typo 2015-12-30 16:52:18 +01:00
63c455a557 small VST code cleanup: mostly NO-OP. thread attributes and static vars 2015-12-30 13:51:09 +01:00
bcaae13e3e set DnD targets per processor
This prevents DnD of non-processors to the sidebar
2015-12-30 12:25:09 +01:00
80e170d7fd keep VST path editor on top of preferences. 2015-12-29 13:31:40 +01:00
135eedc685 the return of the proper GUI window titles 2015-12-29 11:03:43 +01:00
d959461537 LinuxVST window re-sizing: forward event to child window. 2015-12-29 10:08:42 +01:00
74e4081ef4 save users who like to suffix snapshot names some typing. 2015-12-28 19:24:30 +01:00
46e479038d plugin-sidebar: select on right-click (before context-menu) 2015-12-28 17:23:45 +01:00
9283e97435 refine add preset/favorite dialog
dedicated "Add to Favorites only" mode.
2015-12-28 17:23:45 +01:00
0d9efc1148 redesign cross-thread registration/signalling system
This new design will work even when threads that need to receive
messages from RT threads are created *after* the RT threads. The
existing design would fail because the RT thread(s) would never
be known the later created threads, and so signals emitted by the
RT thread and causing call_slot() in the receiver would end up
being enqueued using a lock-protected list. The new design ensures
that communication always uses a lock-free FIFO instead
2015-12-28 10:14:17 -05:00
db48340278 keep plugin-manager presets in sync 2015-12-28 13:23:42 +01:00
4758de37cd allow creating plugin-presets by dragging a plugin to the sidebar 2015-12-28 04:11:45 +01:00
d7475e1419 add preset-delete to context menu 2015-12-28 03:19:28 +01:00
f09c1016d4 allow to hide monitor-section processor box with processors
indicate processors by coloring the button instead.
2015-12-27 19:11:07 +01:00
47922c5d19 add "remove from favorites" context menu 2015-12-27 18:17:45 +01:00
9b7352f35f plugin-sidebar: fix PostFader insert 2015-12-27 15:32:24 +01:00
48edb6edb7 plugin-sidebar: right click implies select. 2015-12-27 15:31:53 +01:00
228d6a1861 Ardour 4.5 is later than planned.
Revert "quick hack: hide unfinished processor sidebar for 4.5 release"
This reverts commit 20521bad20.
2015-12-27 00:38:28 +01:00
b7461fb7c0 add context-menu for processor-sidebar 2015-12-27 00:37:53 +01:00
b1bf6be8e3 remove C++11 API 2015-12-26 15:51:02 +01:00
d9fcd142b4 save/restore plugin-sidebar expanded items 2015-12-26 00:43:59 +01:00
c85f1c7aa3 update plugin presets in mixer-sidebar 2015-12-25 23:23:00 +01:00
e6cb65a171 allow to add plugin(s) to all selected routes 2015-12-25 17:13:17 +01:00
5417af4877 add presets to mixer plugin-sidebar 2015-12-25 17:13:07 +01:00
e762fe36be refactor Processor-Box plugin drag/drop: allow presets 2015-12-25 17:13:00 +01:00
0b30814bdd use new column DnD renderer, 2015-12-24 17:28:23 +01:00
646bcc6885 allow dragging plugins directly from the manager 2015-12-24 01:45:16 +01:00
80028d7c82 don't automatically open plugin-GUI when using drag/drop 2015-12-24 01:45:16 +01:00
7eddc61a30 monitor section re-layout (processor-box in signal flow) 2015-12-23 14:41:54 +01:00
Edgar Aichinger
2a50a90cb8 Update German Translation for gtk2_ardour 2015-12-23 12:43:22 +01:00
20521bad20 quick hack: hide unfinished processor sidebar for 4.5 release 2015-12-23 00:08:45 +01:00
11d5b46f8a re-arrange default mixer siderbar panes. 2015-12-22 23:26:33 +01:00
7f82eec394 save/restore custom order of favorite plugin list 2015-12-22 23:06:08 +01:00
b786dbca9d the return of the rude audition button. 2015-12-22 21:11:58 +01:00
0965463c19 tweak packaging of plugin-hostlist 2015-12-22 19:08:19 +01:00
4abf943340 clarify missing ffmpeg messages
Don't refernce "ffmpeg", "ffprobe" executables directly. Refer to the
elaborate Log message (ffmpeg_harvid)
2015-12-22 16:43:26 +01:00
17c4a36a1a add Nil to authors 2015-12-22 04:55:32 +01:00
Nil Geisweiller
93ea63f6d0 Better align note end time with grid 2015-12-22 04:52:50 +01:00
Nil Geisweiller
76d4fe1fd5 More minor indentation fix (spaces -> tabs) 2015-12-22 04:52:50 +01:00
Nil Geisweiller
ef393f5a88 Remove shortening inserted notes by one tick
I don't think this is necessary, if some synth cannot deal with that,
perhaps Ardour could try to send the note off right before the next
note on, even-though they supposedly occur simultaneously.
2015-12-22 04:52:50 +01:00
Nil Geisweiller
591c9bf0d4 Fix indentation of note_base (whitespace to tab) 2015-12-22 04:52:50 +01:00
dffa3861ba add Favorite Plugins List (DnD) to the Mixer. 2015-12-22 04:43:26 +01:00
a7b236561c ProcessorBox: allow to receive PluginInfoPtr drops 2015-12-22 04:24:20 +01:00
d5c275e78e update ProcessorBox API for new DnDVbox constructor. 2015-12-22 04:15:04 +01:00
7edd521afe unhardcode "ardour:" port-prefix 2015-12-21 18:54:34 +01:00
3be59616e8 add tooltip to "floating monitor section" and allow on OSX. 2015-12-21 15:46:28 +01:00
0794329ac1 delete monitoring section when removed
Among other things, this makes sure the detached window is removed.
2015-12-21 15:46:03 +01:00
990cbf3f40 re-add AU cache/blacklist management (was lost in 964b8a98) 2015-12-21 14:38:51 +01:00
d556692192 allow to float detached monitor-section window 2015-12-21 14:38:45 +01:00
0d9f15dd80 GUI part of monitor-section constraints. 2015-12-21 14:38:28 +01:00
67917583d9 Monitor Section Processor Box.
Allow to add plugins specific to Monitoring (room correction etc) directly
on the Monitor-Section GUI.

The Track/Bus Inspector allowed that for a long time, already but
apparently nobody found it.
2015-12-21 12:43:38 +01:00
51a140054e tweak solo mode & option layout 2015-12-20 01:11:09 +01:00
34f3d35ded monitoring section on diet (75% original width) 2015-12-20 00:48:11 +01:00
ffde3968ec allow to show/hide Monitor Section 2015-12-19 17:42:36 +01:00
bdfddec6fc more hot wine. 2015-12-17 20:22:02 +01:00
90f64364cb Update Russian translation 2015-12-16 12:47:24 +01:00
38ef9ae0ef update available sync-sources when engine [re]-starts
fixes issue with JACK only being available if Ardour was started with
JACK.
2015-12-16 00:29:49 +01:00
87f635203e amend 939808a7 - unset loop-range, no play 2015-12-15 08:39:44 +01:00
6554f0f93d display VST paths 2015-12-12 20:39:55 +01:00