13
0
Commit Graph

8911 Commits

Author SHA1 Message Date
bd6b4025de one less deprecated API 2015-10-18 23:29:58 +02:00
d17b73e989 GUI changes use new AppleUtility Library 2015-10-18 23:03:14 +02:00
601d51ce71 amend prev commit. 2015-10-18 14:31:04 +02:00
17b18a593e fix additive linkflags 2015-10-18 14:22:55 +02:00
e7b8e98db2 Replace static PBD::Signal in NoteBase with direct call to MidiRegionView
NoteBaseDeleted signal is static so each MidiRegionView(MRV) gets notified
about the deletion of each NodeBase instance even if it is contained in another
MRV

The NoteBase and MRV classes are currently coupled anyway, so this change uses
the reference to the MRV parent to directly call the parent when the NoteBase
is deleted. This is all in the GUI thread so I'm not sure why a PBD::Signal was
being used?

If the MRV class is the only reference holder to the NoteBase class
then I'm not sure if a callback is needed, perhaps the MRV should just remove
the note from the selection before deleting it but I'm not that familiar with
the code.

Signal emission/calls static NoteBaseDeleted signal vs direct with 10540
NoteBase instances.

static:

After Load Session: 6360638
After Unload Session: 12221026(5860388)

direct:

After load Session: 10540
After unload Session: 21080

Session Load/Unload time in master, debug/release with ~10000 Notes(seconds)

Load Debug: 32, 26
Unload Debug: 83
Load Release 32, 20, 42
Unload Release 26, 25

Session Load/Unload time with direct call debug/release(seconds)

Load Debug: 21.7, 18.1
Unload Debug: 69.4, 71
Load Release: 22.6, 13.4, 17.7
Unload Release: 24, 23.5

This is not a large Session, 1500 regions, 10000 notes so there is probably
some other funky stuff going on that needs fixing.
2015-10-17 22:15:07 -04:00
André Nusser
e807fe2b28 Introduce "Transpose..." also in the context menu of selected notes. 2015-10-17 22:12:55 -04:00
André Nusser
bc83699e44 Fix tiny memory leak. 2015-10-17 22:12:54 -04:00
André Nusser
d460bb3475 Include "Transform..." into MIDI region menu.
Everything has already been done except the including.
2015-10-17 22:12:54 -04:00
3de2f762f8 fftw-3.3.5/windows .dll includes threads lib 2015-10-18 02:44:26 +02:00
f307080808 disable follow-edits with external sync #6577 2015-10-18 02:03:41 +02:00
b5ef5aa40b and another "f" 2015-10-17 20:51:21 +02:00
dd8dfb47ec four f* f's. 2015-10-17 20:30:24 +02:00
9ae577fb07 thread-safe fftw (needs fftw-3.3.5)
see https://github.com/FFTW/fftw3/issues/16
2015-10-17 19:23:39 +02:00
619900e333 fix #6640 (snapshot clears "dirty" flag)
empty name indicates current-session name.
2015-10-16 21:10:21 +02:00
23b975e172 use API to add system-specific volumes - #6643 2015-10-16 19:07:25 +02:00
a27e9a68b2 strip silence: report analysis progress 2015-10-16 15:27:20 +02:00
dead81d284 strip silence: wait for analysis to complete
"apply"ing strip-silence while analysis is still running will at best
only process regions that have already been analyzed and at worst crash.
2015-10-16 00:13:02 +02:00
5ad63bd3f8 re-enable engine sensitive actions..
..after an engine stop/start cycle.
e.g "New Insert", "New External Send"
2015-10-15 21:50:01 +02:00
696b89b71a rework 8b80fe0, use std::string, not char* 2015-10-15 11:24:15 +02:00
8b80fe04ad Avoid calls to Glib::ustring << operator at all cost.
Glib::operator<<(std::ostream&, Glib::ustring const&) involves
loadlocale which is not thread-safe on OSX.

This fixes various seemingly random crashes on OSX.
2015-10-14 22:46:15 +02:00
5eefdf7536 update AU GUI positioning and resizing. 2015-10-14 22:46:07 +02:00
d369894dd5 no need for ugly cast constructors, just add a second argument 2015-10-12 13:34:00 -04:00
86f8b9e12d revert 7e0055; the original text better reflected reality 2015-10-11 11:37:52 -05:00
André Nusser
1df97b4174 Fix wrong 'Import to Region List' default on first call. -fixes #6631 2015-10-09 02:05:41 +02:00
André Nusser
4c26225ddc Fix "Select All * Edit Point" when used as shortcut. -fixes #6626 2015-10-08 13:46:22 +02:00
5762ee114d allow to use non-emphasis regardless of custom samples 2015-10-07 19:37:56 +02:00
9b8697b75b Added use click emphasis toggle (gtk2_ardour) 2015-10-07 19:34:40 +02:00
38405fa210 fix crash on 2nd Lock 2015-10-07 15:50:55 +02:00
dee89fb98a add missing include 2015-10-07 15:39:32 +02:00
0d137f7bdf fix solo-group override 2015-10-07 15:29:00 +02:00
e79b2e376f amend prev commit. 2015-10-07 14:25:33 +02:00
a02fc6340b update solo button callback semantics
override-group toggles current group state (not disables groups)
2015-10-07 14:21:30 +02:00
3bb492a0c0 fix crash for solo btn2 + primary-mod 2015-10-07 14:21:30 +02:00
6b00e149d2 cancel-solo always clears all solo-state, just in case. 2015-10-06 20:06:25 +02:00
8431d102b9 Do not restore engine state if we don't have control
When connecting to already running jack, display jack's buffersize
correctly.
2015-10-06 14:40:51 +02:00
ef0f13cb84 Stop engine when clicking back button in latency measurement tab of EngineControl dialog
The engine is started when you switch to latency measurement tab but it isn't
stopped if you just click the back button without measuring for latency.
2015-10-06 13:29:57 +10:00
528ad3416a Remove unused methods in ARDOUR_UI for starting/stopping engine 2015-10-06 13:29:57 +10:00
cd4dd08931 Add EngineControl::stop_engine method to show errors when stopping engine
This replaces using ARDOUR_UI::disconnect_from_session which is only used by the
EngineControl class. ARDOUR_UI::disconnect_from_session also disconnects from
the AudioEngine::Halted signal which seems unnecessary as Halted is not emitted
when stopping the engine and calling update_sample_rate() which is already
handled when the AudioEngine::Stopped signal is emitted.
2015-10-06 13:29:57 +10:00
1195aeb64e Handle all errors when starting backend in EngineDialog 2015-10-06 13:29:57 +10:00
4b9e738636 Align switch statement with case labels to reduce indentation in EngineDialog 2015-10-06 13:29:57 +10:00
5ed05218e6 Update sample rate and CPU load in status bar when AudioEngine stopped 2015-10-06 13:29:57 +10:00
2397429e99 use quotes for in-tree pbd/glib wrapper include 2015-10-05 22:15:18 +02:00
dc36b063bf remove unused fstream includes 2015-10-05 22:15:18 +02:00
c898707bdf remove ofstream from gtk2ardour 2015-10-05 22:15:17 +02:00
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
d25e1cb635 add a hidden option to show hidden processors
simplify debugging solo, monitor-processors, etc
2015-10-04 19:40:46 +02:00
7e00550e22 change wording of autosave option to be more clear 2015-10-04 12:25:38 -04:00
95df99e6d4 remove unused function 2015-10-04 17:53:02 +02:00
65716d968e don't export video-frame request function 2015-10-04 02:04:59 +02:00
79fecf0b61 escape markup in region list 2015-10-02 19:38:32 +02:00
3aa24b222b add missing markup escape
(e.g. import file with ampersand)
2015-10-02 19:14:24 +02:00
eebbf64484 provide Main/cancel-solo as an action and make rude solo button(s) use it 2015-10-02 07:32:56 -04:00
520b78b841 Add parent window argument to ARDOUR_UI::check_audioengine
Ensures relevant placement of the dialog when presented
2015-10-01 09:10:19 +10:00
73acaf6de6 Display warning when closing Audio Setup dialog with engine stopped
Only show warning when a session is loaded
2015-10-01 09:10:19 +10:00
463bd470e8 Don't hide Audio Setup dialog when clicking 'OK' if engine fails to start
This has to be handled in two places, in ARDOUR_UI::do_audio_midi_setup and in
the dialogs response handler and in as the window can also be triggered via the
window action manager.
2015-10-01 09:10:19 +10:00
2768ce9b05 Use AudioSetupDialog as parent of the error message popup when failing to start engine
Without a session loaded this makes the message dialog appear in front of the
AudioSetup dialog instead of randomly up in the top left somewhere. This does
mean though that if the AudioSetup dialog is not visible the error message
popup will appear randomly up in the top left(at least on windows, it seems
fine on linux) but I will fix that shortly.
2015-10-01 09:10:19 +10:00
d19605aeaa Use AudioEngine::get_last_backend_error in message dialog when failing to start engine
If a backend is not returning AudioBackend::ErrorCode values to indicate the
type of error then the default string will be returned which is the same as
what was previously displayed.
2015-10-01 09:10:19 +10:00
André Nusser
c6f9a65081 Gray out "strip silence" and "rhtyhm ferret" for midi regions.
The former even triggered a segfault.
2015-09-30 23:20:27 +02:00
André Nusser
71f6f982e3 Fixed spelling. 2015-09-30 14:43:02 -04:00
André Nusser
6fdd3f47ac Make all the context menu entries of the track list work. 2015-09-30 14:43:02 -04:00
48b904fcee is there a better way to make gcc+enumwriter happy? 2015-09-29 16:09:01 +02:00
3f8857b129 Fix midi tracer to show MSB too. (fixes #6566) 2015-09-29 06:06:40 -07:00
08446f79e1 set waveform height depending on Layer mode
Fixes background peakfile/waveform creation. Waves need to be
created directly with the proper attributes as set by StreamView.
2015-09-29 13:47:21 +02:00
7f86418340 Revert "change the way the audio clock cursor is drawn (somewhat of an experiment but it has some benefits"
This reverts commit 601770837e.

This work continued in the "clockwork" branch where it was done correctly.
2015-09-28 20:28:40 -04:00
deabc0f41b change clearlooks style file so that small_entry and related styles use text color for text even when selected 2015-09-28 18:20:54 -04:00
André Nusser
42647c9920 Introduce Ctrl+Shift+Click on lock solo in the mixer. 2015-09-28 17:58:40 -04:00
621fd845e6 Revert "add new action and loop marker menu item for setting up loop record"
This reverts commit ebb43508f1.
2015-09-28 17:44:04 -04:00
601770837e change the way the audio clock cursor is drawn (somewhat of an experiment but it has some benefits 2015-09-28 17:42:11 -04:00
3e0d801509 when editing an audio clock, swallow illegal keys rather than allowing them to reach the rest of the GUI 2015-09-28 17:42:11 -04:00
9cf56aab84 fix the logic of the GUI "toggle roll" action as it pertains to loop recording 2015-09-28 17:42:11 -04:00
ebb43508f1 add new action and loop marker menu item for setting up loop record 2015-09-28 17:42:11 -04:00
9f2aba1451 mixer-strip name context-menu cleanup
patch thanks to chaot4
2015-09-27 21:45:40 +02:00
2e6b455b19 add deva to authors. 2015-09-27 16:13:37 +02:00
e1c421c67b Close export directory browser dialog when clicking on 'Cancel' button, Fixes #6594 2015-09-27 21:55:20 +10:00
cf761d4f67 fix mixer group-tab width - #6572
EditorGroupTabs are re-exposed in the idle-callback, widgets
are packed and geometry is valid.

Mixer_UI::redisplay_track_list() does not have this property.
2015-09-27 01:33:02 +02:00
e935890fc5 fix crash at session-close, amend dec4790d 2015-09-25 01:05:13 +02:00
c3a7730c88 redisplay markers after removal - fixes #6596 2015-09-24 00:27:32 +02:00
cb0b22cb79 Hide create new item from Group Tab context menu
Creating a new empty group from the group tab area just looks broken since
nothing visible happens, so hide this item when the context menu is
triggered from this location.
2015-09-21 16:50:45 -05:00
Todd Naugle
203a72f883 Create new Groups with a consistent set of default properties.
This is part of a larger fix for #6450. Previously new route groups were
created with different default properties depending on which code created
the new group. The group tab method had all properties set and that is now
going to be the default for all other methods (mixer strip button, etc).
2015-09-21 14:52:25 -05:00
cba31db6fe processor-box: explicitly check for "Amp" (Fader) 2015-09-21 13:14:29 +02:00
e64e4e19bc save-as, update button sensitivity when dir changes 2015-09-21 12:05:31 +02:00
86c93292d4 add André to authors list. 2015-09-20 22:30:43 +02:00
André Nusser
6a248b61f0 fix duplicating multiple selected regions - fixes #6202 2015-09-20 22:22:39 +02:00
dec4790dff update SFDB settings when track selection changes 2015-09-20 20:03:09 +02:00
cff0852df9 fix initial state of Import Dialog 2015-09-20 20:02:40 +02:00
6c53ebc4c1 basic GUI support to auto-align video by LTC. 2015-09-20 18:37:39 +02:00
65f215bb4c GUI part of silence-trim fade constraint. 2015-09-20 01:28:37 +02:00
21c1d0f832 Silence detect: constrain duration in GUI. 2015-09-19 23:33:35 +02:00
a6caf6ed3a NOOP, whitespace. 2015-09-19 20:31:32 +02:00
dad0e390ff indicate that silence trim is already active. 2015-09-19 20:28:56 +02:00
c829c10a74 band-aid for Glib::operator<<
it seems that g_locale_from_utf8() (called by <<) is not thread safe,
at least not on OSX.

glib error-code 1, Invalid byte sequence in conversion input
-> throws Glib::Error.

possible fix for #6435, route-creation is interrupted via catch(...)
2015-09-19 19:00:43 +02:00
dfd7e80fda fix crash at exit, ctrl+s during quit. 2015-09-19 19:00:43 +02:00
646bc2bb43 fix possible endless loop in silence detection 2015-09-19 19:00:43 +02:00
6569301001 remove cruft 2015-09-19 19:00:43 +02:00
0e55dc470d StripSilence: invalidate Completed connection - fixes #6600 2015-09-19 19:00:42 +02:00
cdd76636a0 tweak colors for silence-detection
The text annotation needs to be visible:
 - above default background (dark gray)
 - above waveform (orange)
 - above silent-highly regions (violet, was bright turqoise)

old color (dark blue) failed for all but the waveform.
2015-09-19 19:00:42 +02:00
62a161195c fix progress reporter, use idle callback.
do not directly hook into Glib's Main Context.
2015-09-19 19:00:42 +02:00
2ef2ea0b59 create new Event-IDs for pasted midi-notes 2015-09-18 20:37:23 +02:00
b753704c3e Revert "work around bug or feature of string_compose()"
This reverts commit 17baf93626.
It's no longer needed since c1d6a2f
2015-09-18 00:04:42 +02:00