Robin Gareus [Sun, 20 Sep 2015 17:40:32 +0000 (19:40 +0200)]
silence detection: include fades.
Fades must be outside of regions above threshold in order
to properly split drum-hits or fast transients in general.
Robin Gareus [Sun, 20 Sep 2015 16:38:52 +0000 (18:38 +0200)]
fix sndfilesource::open return value typo.
Robin Gareus [Sun, 20 Sep 2015 16:37:39 +0000 (18:37 +0200)]
basic GUI support to auto-align video by LTC.
Robin Gareus [Sun, 20 Sep 2015 01:17:26 +0000 (03:17 +0200)]
prepare LTC File Reader
Robin Gareus [Sat, 19 Sep 2015 23:28:37 +0000 (01:28 +0200)]
GUI part of silence-trim fade constraint.
Robin Gareus [Sat, 19 Sep 2015 23:28:15 +0000 (01:28 +0200)]
add silence-stripping fade constraints
Ensure that non-silent regions are at least
as long as the selected fade-duration.
Robin Gareus [Sat, 19 Sep 2015 21:33:35 +0000 (23:33 +0200)]
Silence detect: constrain duration in GUI.
Robin Gareus [Sat, 19 Sep 2015 18:31:32 +0000 (20:31 +0200)]
NOOP, whitespace.
Robin Gareus [Sat, 19 Sep 2015 18:28:56 +0000 (20:28 +0200)]
indicate that silence trim is already active.
Robin Gareus [Sat, 19 Sep 2015 16:38:56 +0000 (18:38 +0200)]
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(...)
Robin Gareus [Sat, 19 Sep 2015 16:32:35 +0000 (18:32 +0200)]
Dummy: add a CC only test-sequence
Robin Gareus [Sat, 19 Sep 2015 16:32:23 +0000 (18:32 +0200)]
fix crash at exit, ctrl+s during quit.
Robin Gareus [Sat, 19 Sep 2015 16:31:41 +0000 (18:31 +0200)]
fix possible endless loop in silence detection
Robin Gareus [Sat, 19 Sep 2015 16:30:01 +0000 (18:30 +0200)]
remove cruft
Robin Gareus [Sat, 19 Sep 2015 16:29:51 +0000 (18:29 +0200)]
StripSilence: invalidate Completed connection - fixes #6600
Robin Gareus [Sat, 19 Sep 2015 16:10:29 +0000 (18:10 +0200)]
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.
Robin Gareus [Sat, 19 Sep 2015 15:32:40 +0000 (17:32 +0200)]
fix silence-strip process report
Robin Gareus [Sat, 19 Sep 2015 15:32:12 +0000 (17:32 +0200)]
fix progress reporter, use idle callback.
do not directly hook into Glib's Main Context.
Robin Gareus [Sat, 19 Sep 2015 13:10:15 +0000 (15:10 +0200)]
unhardcode OSX bundle-name
Tim Mayberry [Sat, 19 Sep 2015 00:59:39 +0000 (10:59 +1000)]
Fix windows test to also pass under wine
It looks as if the default timer resolution for applications running under wine
is different than Windows so just test that the minimum timer resolution is
below a certain amount rather than checking before and after calling
timeBeginPeriod
Robin Gareus [Fri, 18 Sep 2015 23:22:14 +0000 (01:22 +0200)]
no c99
Robin Gareus [Fri, 18 Sep 2015 22:38:32 +0000 (00:38 +0200)]
speed-up smf_track_delete() from O(N^2) to O(n)
Robin Gareus [Fri, 18 Sep 2015 18:37:00 +0000 (20:37 +0200)]
create new Event-IDs for pasted midi-notes
Robin Gareus [Fri, 18 Sep 2015 13:13:09 +0000 (15:13 +0200)]
NOOP - SMF debugging.
Robin Gareus [Fri, 18 Sep 2015 15:37:03 +0000 (17:37 +0200)]
Midi CC events have no event-ID
Prior to this change the last iterator's ID was used. (event's ID was
not updated for CCs)
Robin Gareus [Fri, 18 Sep 2015 15:34:12 +0000 (17:34 +0200)]
fix ever increasing MIDI event IDs
Iterating over a const Midi-Sequence calls Evoral::Sequence::set_event(),
which in turn used Evoral::Event::operator=() which always created
a new event-ID (create copy of the event).
Issues fixed:
- Saving *unmodified* MIDI produced new event-IDs on every save;
files changed with every save. - greetings to Deva.
- all [GUI] operations that use IDs to refer to notes e.g. undo.
invalid undo-history.
Also clarify assignment operator name. Prefer explicit assign() over =.
John Emmas [Fri, 18 Sep 2015 09:44:07 +0000 (10:44 +0100)]
Modify Strip Silence so that it can't create regions with -ve lengths
AFAICT this could happen if a region's end time (on the timeline) was earlier than the end time in the actual recording. This could cause a situation where the last block of detected silence would have an end time greater than the end tome for the region being processed. Strip Silence would create its new regions - but the last one it created would usually come out with a negative duration.
John Emmas [Fri, 18 Sep 2015 09:29:31 +0000 (10:29 +0100)]
MSVC - add support for newly introduced gtk2_ardour/tooltips.cc and tooltips.h
John Emmas [Fri, 18 Sep 2015 09:27:27 +0000 (10:27 +0100)]
Make sure that those recently moved functions will be visible if they're needed outside of libpbd
John Emmas [Fri, 18 Sep 2015 09:25:11 +0000 (10:25 +0100)]
MSVC projects - accommodate some modules that recently got moved or removed
(mostly these got moved out of the PortAudio backend and into libpbd)
Robin Gareus [Thu, 17 Sep 2015 22:04:42 +0000 (00:04 +0200)]
Revert "work around bug or feature of string_compose()"
This reverts commit
17baf9362641f024440b61cecc176ee9096e1418.
It's no longer needed since
c1d6a2f
Paul Davis [Thu, 17 Sep 2015 21:16:05 +0000 (17:16 -0400)]
add string_compose argument specializations so that empty std::string and empty C strings are handled as intended
Ben Loftis [Thu, 17 Sep 2015 21:07:40 +0000 (16:07 -0500)]
associate label more closely with VST path button. the plugin tab needs a complete layout rethink, someday
Robin Gareus [Thu, 17 Sep 2015 19:09:13 +0000 (21:09 +0200)]
speficy gtk treeview style for consistency
Robin Gareus [Thu, 17 Sep 2015 18:51:11 +0000 (20:51 +0200)]
work around bug or feature of string_compose()
string_compose("x%1x x%2x x%3x", "A", "", "C")
-> "xAx xCx xx"
and not
-> "xAx xx xCx"
Tim Mayberry [Thu, 17 Sep 2015 05:13:16 +0000 (15:13 +1000)]
Add test to libpbd to check PBD::touch_file and pbd/gstdio_compat.h
GStatBuf is not usable on 32 bit Windows without the redefinition in
pbd/gstdio_compat.h so add a test to check for the correct behavior of
g_stat and g_utime on all platforms now that the issue is fixed.
Robin Gareus [Thu, 17 Sep 2015 13:01:26 +0000 (15:01 +0200)]
fix g_lstat()
Robin Gareus [Thu, 17 Sep 2015 12:38:09 +0000 (14:38 +0200)]
use pbd's gstdio compatibility wrapper (GUI)
Robin Gareus [Thu, 17 Sep 2015 12:37:57 +0000 (14:37 +0200)]
use pbd's gstdio compatibility wrapper
Robin Gareus [Thu, 17 Sep 2015 12:36:06 +0000 (14:36 +0200)]
add glib/stdio compat wrapper for mingw64-w32
Robin Gareus [Thu, 17 Sep 2015 11:37:34 +0000 (13:37 +0200)]
explicit glibmm/datetime include
On some distros. glibmm.h does not include glibmm/datetime.h
Tim Mayberry [Thu, 17 Sep 2015 01:55:22 +0000 (11:55 +1000)]
Use PBD::open_uri in about dialog to open website, should fix #6463
Robin Gareus [Wed, 16 Sep 2015 22:40:32 +0000 (00:40 +0200)]
fix #6588. use ardour-codename only for Ardour.
Paul Davis [Wed, 16 Sep 2015 22:32:28 +0000 (18:32 -0400)]
Revert "add an Amp to Delivery, remove it from Send, make use of this in various ::run() methods"
This reverts commit
601a34521c2ce1d0167ed2f3c66f2fa6eeeb6b8e.
Robin Gareus [Wed, 16 Sep 2015 22:20:13 +0000 (00:20 +0200)]
fix a tautologically undefined comparison
Robin Gareus [Wed, 16 Sep 2015 22:13:43 +0000 (00:13 +0200)]
deleting pointers to incomplete types may cause undefined behavior
Robin Gareus [Wed, 16 Sep 2015 22:10:50 +0000 (00:10 +0200)]
fix clang compilation.
pbd/configuration_variable.h:84:6: error: call to function 'operator>>' that is neither visible in the template definition nor found by argument-dependent lookup
ardour/types.h defines std::istream& operator>> and must be included prior to pbd/configuration_variable.h
Paul Davis [Wed, 16 Sep 2015 21:11:54 +0000 (17:11 -0400)]
fix missed but required merge resolution related to UIConfiguration's new status as a singleton in this branch.
Tim Mayberry [Wed, 29 Apr 2015 13:14:58 +0000 (23:14 +1000)]
Use tooltips.h in ArdourButton to remove ardour_ui.h inclusion
Tim Mayberry [Mon, 5 Jan 2015 05:32:14 +0000 (12:32 +0700)]
Use ARDOUR_UI_UTILS::set_tooltip rather than via ARDOUR_UI::set_tip
This removes the direct dependence on ARDOUR_UI/Gtk_UI for setting
tooltips. Removes inclusion of ardour_ui.h from 16 files.
Tim Mayberry [Mon, 5 Jan 2015 05:28:59 +0000 (12:28 +0700)]
Add tooltips.h header for setting tooltips rather than via ardour_ui.h
Tim Mayberry [Mon, 5 Jan 2015 05:19:44 +0000 (12:19 +0700)]
Add missing header include in midi_channel_selector.h
Tim Mayberry [Mon, 5 Jan 2015 05:14:30 +0000 (12:14 +0700)]
Add missing header include in shuttle_control.h
Tim Mayberry [Mon, 5 Jan 2015 04:41:39 +0000 (11:41 +0700)]
Add missing header include in plugin_selector.h
Tim Mayberry [Mon, 5 Jan 2015 01:54:55 +0000 (08:54 +0700)]
Remove ardour_ui.h header inclusion
Tim Mayberry [Mon, 5 Jan 2015 01:22:37 +0000 (08:22 +0700)]
Remove tooltips() member from ARDOUR_UI and use Gtk_UI::set_tip
Tim Mayberry [Tue, 23 Dec 2014 03:54:25 +0000 (10:54 +0700)]
Use Forward declaration for non-MSVC compilers in ardour_ui.h
I can't test this with MSVC so John might have to fix this, just
adding the necessary header includes inside MSVC specific ifdef
but I think it should be OK
Tim Mayberry [Sun, 4 Jan 2015 16:05:12 +0000 (23:05 +0700)]
Forward declare Meterbridge class in ardour_ui.h
Tim Mayberry [Sun, 4 Jan 2015 15:58:46 +0000 (22:58 +0700)]
Remove ui_config.h inclusion from ardour_ui.h
Tim Mayberry [Fri, 2 Jan 2015 14:44:54 +0000 (21:44 +0700)]
Move UIConfiguration Singleton into UIConfiguration header
This removes the direct dependence on ardour_ui.h from 39 files
Tim Mayberry [Wed, 29 Apr 2015 11:30:07 +0000 (21:30 +1000)]
Move ARDOUR_UI::ui_scale into UIConfiguration class
Tim Mayberry [Sun, 4 Jan 2015 06:43:29 +0000 (13:43 +0700)]
Add ardour/types.h to ardour/parameter_descriptor.h for AutomationType
Tim Mayberry [Sun, 4 Jan 2015 14:25:07 +0000 (21:25 +0700)]
Remove inclusion of ardour_ui.h from ui_config.cc
Tim Mayberry [Sun, 4 Jan 2015 14:18:48 +0000 (21:18 +0700)]
Move DPIReset and ColorsChanged signals into UIConfiguration
Tim Mayberry [Sun, 4 Jan 2015 13:32:48 +0000 (20:32 +0700)]
Remove unused header include
Tim Mayberry [Sun, 4 Jan 2015 13:30:59 +0000 (20:30 +0700)]
Move util functions into UIConfiguration as they depend on it anyway
Tim Mayberry [Sun, 4 Jan 2015 12:40:43 +0000 (19:40 +0700)]
Remove duplicate extern declaration
DPIReset signal is declared in global_signals.h
Robin Gareus [Wed, 16 Sep 2015 20:17:02 +0000 (22:17 +0200)]
add datetime to snapshot sidebar
Currently only information, not sortable.
Robin Gareus [Wed, 16 Sep 2015 19:32:59 +0000 (21:32 +0200)]
unify recent session dialogs
Robin Gareus [Wed, 16 Sep 2015 17:30:41 +0000 (19:30 +0200)]
fix
d6029f9 (recent sort-order)
add one, because (-0 == +0)
Robin Gareus [Wed, 16 Sep 2015 17:01:13 +0000 (19:01 +0200)]
add Hour:Minute to last-modified.
Robin Gareus [Wed, 16 Sep 2015 16:59:04 +0000 (18:59 +0200)]
remeber recent-session sort-column
Robin Gareus [Wed, 16 Sep 2015 16:21:00 +0000 (18:21 +0200)]
highlight default sort column
Robin Gareus [Wed, 16 Sep 2015 16:07:23 +0000 (18:07 +0200)]
disable even/odd row highlight for GtKTreeview.
Almost all TreeViews in Ardour had this disabled.
A few cases where it wasn't produced odd rendering artifacts. e.g.:
* Radio-buttons in the Plugin Manager used "base color" regardless of even/odd lines
* Sortable trees only used even/odd background for the sort-column (not others)
Robin Gareus [Wed, 16 Sep 2015 15:45:16 +0000 (17:45 +0200)]
update reported DSP load for ALSA & Dummy
Robin Gareus [Wed, 16 Sep 2015 15:36:01 +0000 (17:36 +0200)]
CoreAudio: use libardour provided DSP load calc.
Robin Gareus [Wed, 16 Sep 2015 15:45:04 +0000 (17:45 +0200)]
fix DSP load bounds 0..1 and add unbound API
Robin Gareus [Wed, 16 Sep 2015 15:33:50 +0000 (17:33 +0200)]
user-sortable recent session list
Robin Gareus [Wed, 16 Sep 2015 15:14:10 +0000 (17:14 +0200)]
add "last modified" column to session-dialog
Robin Gareus [Wed, 16 Sep 2015 13:47:29 +0000 (15:47 +0200)]
partially revert
de53fac (pre-sort session list)
<glib> header includes and commends remain for later use
Tim Mayberry [Wed, 16 Sep 2015 13:21:38 +0000 (23:21 +1000)]
Add PBD::QPC::initialize to initialize timer and call it from PBD::init
Check timer for invalid frequency
Precalculate timer tick rate to save a few instructions
Don't use static variables inside functions to avoid checking for initialization
Use static functions inside anonymous namespace for internal linkage
Tim Mayberry [Wed, 16 Sep 2015 12:22:00 +0000 (22:22 +1000)]
Make sure the QPC frequency is cached so the timer can be used
Tim Mayberry [Wed, 16 Sep 2015 06:28:18 +0000 (16:28 +1000)]
Don't try and split a region when dragging, should fix bug #6338
Tim Mayberry [Mon, 14 Sep 2015 11:04:27 +0000 (21:04 +1000)]
Use ARDOUR::DSPLoadCalculator in DummyBackend
Tim Mayberry [Mon, 14 Sep 2015 10:44:27 +0000 (20:44 +1000)]
Use PBD::get_microseconds() from pbd/windows_timer_utils.h in DummyBackend
Tim Mayberry [Mon, 14 Sep 2015 21:47:37 +0000 (07:47 +1000)]
Set max time of DSPLoadCalculator in every cycle in ALSA backend
Tim Mayberry [Mon, 14 Sep 2015 10:33:57 +0000 (20:33 +1000)]
Use ARDOUR::DSPLoadCalculator in ALSA Backend
Tim Mayberry [Mon, 14 Sep 2015 06:56:22 +0000 (16:56 +1000)]
Add test for DSPLoadCalculator to libardour tests
Tim Mayberry [Mon, 14 Sep 2015 06:48:38 +0000 (16:48 +1000)]
Add DSPLoadCalculator::set_max_time() to set max time based on samplerate and period size
Tim Mayberry [Mon, 14 Sep 2015 03:59:04 +0000 (13:59 +1000)]
Put functions inside anonymous namespace and use static for internal linkage
Tim Mayberry [Mon, 14 Sep 2015 03:54:00 +0000 (13:54 +1000)]
Mark strings intended for developers/debugging as not for translation
Tim Mayberry [Mon, 14 Sep 2015 03:47:38 +0000 (13:47 +1000)]
De/Initialize MMCSS on windows in PBD::init/cleanup instead of in PA Backend
Tim Mayberry [Mon, 14 Sep 2015 03:26:07 +0000 (13:26 +1000)]
Move Windows MMCSS related utility functions into libpbd
Tim Mayberry [Mon, 14 Sep 2015 02:22:39 +0000 (12:22 +1000)]
Add PBD::DebugBit for debugging thread related debugging output
Tim Mayberry [Mon, 14 Sep 2015 02:18:05 +0000 (12:18 +1000)]
Move MMCSS related utility functions into PBD namespace
In preparation for moving to libpbd
Tim Mayberry [Mon, 14 Sep 2015 01:24:33 +0000 (11:24 +1000)]
Perform QPC timer check on windows in PBD::init when PBD_TEST_TIMERS env is defined
Tim Mayberry [Mon, 14 Sep 2015 01:19:17 +0000 (11:19 +1000)]
Rename PBD::QPC::get_timer_valid to check_timer_valid and perform timer test
I'm not sure if this test is going to be effective as I don't have hardware to
test on at the moment. As noted in the documentation, Windows XP should be the
only OS where QPC uses a timer source that is non-monotonic(multi-core with
non-syncronized TSC).
Tim Mayberry [Mon, 14 Sep 2015 00:33:48 +0000 (10:33 +1000)]
Add windows specific test for pbd/windows_timer_utils.h API
Tim Mayberry [Mon, 14 Sep 2015 00:29:00 +0000 (10:29 +1000)]
Fix PBD::MMTIMER::reset_resolution and add some documentation
timeEndPeriod must be called with the same timer resolution value used in
timeBeginPeriod. When the process exits the timer resolution is restored anyway
so this is not very important.
Tim Mayberry [Sun, 13 Sep 2015 12:45:41 +0000 (22:45 +1000)]
Remove glib timer test from pbd testsuite
There are no test assertions and it takes a long time to execute the test so
just leave it disabled for now.