ardour.git
8 years agoprepare threshold for silence trim
Robin Gareus [Tue, 16 Feb 2016 20:25:54 +0000 (21:25 +0100)]
prepare threshold for silence trim

8 years agowork-around case where metric is NULL in split cycles.
Robin Gareus [Tue, 16 Feb 2016 17:17:13 +0000 (18:17 +0100)]
work-around case where metric is NULL in split cycles.

This really needs to be fixed on a higher level.
e.g Pluin::connect_and_run() needs to be passed the current time identical to
PluginInsert::connect_and_run()

8 years agotry to catch https://github.com/rncbc/synthv1/issues/1#issuecomment-183041991
Robin Gareus [Tue, 16 Feb 2016 14:36:43 +0000 (15:36 +0100)]
try to catch https://github.com/rncbc/synthv1/issues/1#issuecomment-183041991

(n_samples = 64 but Ardour sends midi-buffer with an event at 960)

some guesses as to why:
 - split cycle for looping (nominal: 1024, cycle split:64)
 - plugin uses _session.transport_frame() directly :(
   (not latency compensated offset or looped position)
 - "offset" is not taken into account for midi buffers
 - tempo/metric change (metric iterator is wrong after loop)

8 years agoRevert "proper debug prints for Analyser"
Robin Gareus [Tue, 16 Feb 2016 14:13:12 +0000 (15:13 +0100)]
Revert "proper debug prints for Analyser"

This reverts commit 9a281963e143d1191d701f6f248a956bdaf9200d.

audiographer cannot use symbols from libardour (cyclic dependency)
(only headers only are ok)
"DebugBits ExportAnalysis" symbol break windows and unit-test builds.

8 years agore-bin analysis results to take silence striping into account.
Robin Gareus [Tue, 16 Feb 2016 14:09:31 +0000 (15:09 +0100)]
re-bin analysis results to take silence striping into account.

8 years agochunk data before analysis, prefer 8K
Robin Gareus [Tue, 16 Feb 2016 13:25:49 +0000 (14:25 +0100)]
chunk data before analysis, prefer 8K

* consistent spectrum display for all reports (same binsize)
* improved performance (power of two)

8 years agoAnalysis: 1 sample slack (for resampling rounding)
Robin Gareus [Tue, 16 Feb 2016 13:24:08 +0000 (14:24 +0100)]
Analysis: 1 sample slack (for resampling rounding)

8 years agofix Export SRC buffer report:
Robin Gareus [Tue, 16 Feb 2016 13:00:31 +0000 (14:00 +0100)]
fix Export SRC buffer report:

the resampler is always fed with N channels, it won't output half channels

8 years agoFix Analysis duration for added silence
Robin Gareus [Tue, 16 Feb 2016 12:22:12 +0000 (13:22 +0100)]
Fix Analysis duration for added silence

8 years agodon't re-use variable names
Robin Gareus [Tue, 16 Feb 2016 12:21:45 +0000 (13:21 +0100)]
don't re-use variable names

8 years agoproper debug prints for Analyser
Robin Gareus [Tue, 16 Feb 2016 12:21:28 +0000 (13:21 +0100)]
proper debug prints for Analyser

8 years agoExport Analysis GUI: clarify signal-distribution axis labels
Robin Gareus [Tue, 16 Feb 2016 01:58:41 +0000 (02:58 +0100)]
Export Analysis GUI: clarify signal-distribution axis labels

8 years agomove "Normalization Gain" display to the left box & colorize it.
Robin Gareus [Tue, 16 Feb 2016 00:43:30 +0000 (01:43 +0100)]
move "Normalization Gain" display to the left box & colorize it.

8 years agoOSX build - ignore order of options (and fix indent on the way)
Robin Gareus [Mon, 15 Feb 2016 23:05:26 +0000 (00:05 +0100)]
OSX build - ignore order of options (and fix indent on the way)

We call the script with "--nls --public" and not "--public --nls"
--public did unset "WITH_NLS"

8 years agofix typo in previous commit
Ben Loftis [Mon, 15 Feb 2016 23:29:54 +0000 (17:29 -0600)]
fix typo in previous commit

8 years agoDefer session_loaded until AFTER lo_server_new.
Ben Loftis [Mon, 15 Feb 2016 22:55:21 +0000 (16:55 -0600)]
Defer session_loaded until AFTER lo_server_new.
This seems like the right thing to do, and -might- fix OSC on Windows.

8 years agomore Export Report GUI tweaks:
Robin Gareus [Mon, 15 Feb 2016 18:12:46 +0000 (19:12 +0100)]
more Export Report GUI tweaks:

* properly indent y-axis labels
* show N/A if EBU-R128 is not available (mono/stereo only)

8 years agoupdate Export Report GUI for extended spect. range
Robin Gareus [Mon, 15 Feb 2016 17:55:24 +0000 (18:55 +0100)]
update Export Report GUI for extended spect. range

8 years agoextend analysis spectral range to -120dB
Robin Gareus [Mon, 15 Feb 2016 17:55:04 +0000 (18:55 +0100)]
extend analysis spectral range to -120dB

8 years agorefine ExportReport:
Robin Gareus [Mon, 15 Feb 2016 16:37:51 +0000 (17:37 +0100)]
refine ExportReport:

* combined Logscale/Rectified buttons
* use "Lg", "Rf" labels for now
* fix some layout bugs

8 years agoupdate Export Report GUI
Robin Gareus [Mon, 15 Feb 2016 15:34:16 +0000 (16:34 +0100)]
update Export Report GUI

* show normalization gain
* add annotation for spectrum
* log-scale / rectified waveform

8 years agoAdd normalization gain factor to Export Analysis
Robin Gareus [Mon, 15 Feb 2016 14:46:49 +0000 (15:46 +0100)]
Add normalization gain factor to Export Analysis

8 years agoMove Export Audition Buttons to the bottom
Robin Gareus [Sun, 14 Feb 2016 16:08:15 +0000 (17:08 +0100)]
Move Export Audition Buttons to the bottom

8 years agotweak spectrum color schema
Robin Gareus [Sun, 14 Feb 2016 14:14:06 +0000 (15:14 +0100)]
tweak spectrum color schema

8 years agoshow playhead on all export report widgets
Robin Gareus [Sun, 14 Feb 2016 13:02:46 +0000 (14:02 +0100)]
show playhead on all export report widgets

8 years agoEnsure export starts with a clean state
Robin Gareus [Sun, 14 Feb 2016 12:23:45 +0000 (13:23 +0100)]
Ensure export starts with a clean state

8 years agoadd missing space
Robin Gareus [Sun, 14 Feb 2016 11:55:20 +0000 (12:55 +0100)]
add missing space

8 years agoFix issue related to bug #6609, text selection not visible in track name entry
Tim Mayberry [Sun, 14 Feb 2016 01:11:26 +0000 (11:11 +1000)]
Fix issue related to bug #6609, text selection not visible in track name entry

patch submitted by Julien Roger

8 years agofix rare livelock in std::map thread_buffer_requests
Robin Gareus [Sun, 14 Feb 2016 01:13:04 +0000 (02:13 +0100)]
fix rare livelock in std::map thread_buffer_requests

During initial session load it's possible that two threads call
PBD::notify_event_loops_about_thread_creation() simultaneously
(in particular the process threads). This can lead to an
endless loop in stl_tree.h when assigning thread_buffer_requests[key]

Now we only have WriteLocks.. unless some better solution comes up a
Mutex will do.

8 years agoExport Audition: don't rely on audition-progress 100% for "end"
Robin Gareus [Sun, 14 Feb 2016 00:24:00 +0000 (01:24 +0100)]
Export Audition: don't rely on audition-progress 100% for "end"

8 years agoand another typo in d442190b
Robin Gareus [Sat, 13 Feb 2016 23:10:41 +0000 (00:10 +0100)]
and another typo in d442190b

8 years agofix typos in d442190b
Robin Gareus [Sat, 13 Feb 2016 23:02:00 +0000 (00:02 +0100)]
fix typos in d442190b

8 years agoremove C++11'isms from libptformat. back to C++98 compat.
Robin Gareus [Sat, 13 Feb 2016 22:15:47 +0000 (23:15 +0100)]
remove C++11'isms from libptformat. back to C++98 compat.

8 years agoslightly improved windows post-export hook support.
Robin Gareus [Sat, 13 Feb 2016 22:12:50 +0000 (23:12 +0100)]
slightly improved windows post-export hook support.

8 years agosome half-baked support for windows command-arg substitutions
Robin Gareus [Sat, 13 Feb 2016 16:04:11 +0000 (17:04 +0100)]
some half-baked support for windows command-arg substitutions

8 years agoadd post-export audition seeking
Robin Gareus [Sat, 13 Feb 2016 12:51:10 +0000 (13:51 +0100)]
add post-export audition seeking

8 years agoAdd preliminary PTX support for Protools 10 and 11
Damien Zammit [Thu, 4 Feb 2016 08:39:11 +0000 (19:39 +1100)]
Add preliminary PTX support for Protools 10 and 11

Signed-off-by: Damien Zammit <damien@zamaudio.com>
8 years agoUnjumble the PT5 wav ordering in regions/tracks
Damien Zammit [Tue, 2 Feb 2016 05:49:12 +0000 (16:49 +1100)]
Unjumble the PT5 wav ordering in regions/tracks
by sorting alphanumerically and case insensitively

Signed-off-by: Damien Zammit <damien@zamaudio.com>
8 years agoAdd Julien Roger to authors
Tim Mayberry [Sat, 13 Feb 2016 02:56:52 +0000 (12:56 +1000)]
Add Julien Roger to authors

8 years agoFix 6031: Fix inactive MIDI track headers when reloading session
Julien ROGER [Thu, 11 Feb 2016 23:25:17 +0000 (00:25 +0100)]
Fix 6031: Fix inactive MIDI track headers when reloading session

Update the visual state of MidiTimeAxisView accordingly to its route in
MidiTimeAxisView::set_route()

8 years agoFix 6677: Post-export script reinterprets timestamp format placeholder giving incorre...
Julien ROGER [Thu, 11 Feb 2016 02:46:51 +0000 (03:46 +0100)]
Fix 6677: Post-export script reinterprets timestamp format placeholder giving incorrect filename

Due to localtime and its statically allocated buffer, time_struct variable is
set at construct time but its value changes over time due to subsequent calls to localtime
in ardour process. Replacing localtime by localtime_r fix the problem.

This also fix 6713: Name of Audio (timestamp) does not match with written Filename in CD-Cue file

8 years agoFix 6609: Right-click in active track name box crashes
Julien ROGER [Wed, 10 Feb 2016 22:52:03 +0000 (23:52 +0100)]
Fix 6609: Right-click in active track name box crashes

When right-clicking in the text entry, popup menu grabs focus. Consequently, the "focus out" handler is called, destroys the text entry and replaces it by the label name of the track.
When menu pops up, it tries to access to a widget no longer available.

8 years agoamend d814acb - SystemExec/Export debugging
Robin Gareus [Sat, 13 Feb 2016 00:39:41 +0000 (01:39 +0100)]
amend d814acb - SystemExec/Export debugging

8 years agoadd some debugging capability for users of SystemExec. Needs review.
Ben Loftis [Sat, 13 Feb 2016 00:22:12 +0000 (18:22 -0600)]
add some debugging capability for users of SystemExec.  Needs review.

8 years agoHide "Use Buffered I/O" button when switching to backend with no control
Tim Mayberry [Fri, 12 Feb 2016 23:28:33 +0000 (09:28 +1000)]
Hide "Use Buffered I/O" button when switching to backend with no control

Which in this case means the JACK backend where the server is already running.

8 years agouse "Good" resampling quality (lower initial play latency)
Robin Gareus [Fri, 12 Feb 2016 23:58:29 +0000 (00:58 +0100)]
use "Good" resampling quality (lower initial play latency)

8 years agoadd NULL check for VST audioMasterSizeWindow
Robin Gareus [Fri, 12 Feb 2016 23:51:17 +0000 (00:51 +0100)]
add NULL check for VST audioMasterSizeWindow

8 years agoPartial exposure of export-audition playhead
Robin Gareus [Fri, 12 Feb 2016 22:01:10 +0000 (23:01 +0100)]
Partial exposure of export-audition playhead

8 years agoupdate signal connetion for new CairoWidget::set_dirty() API
Robin Gareus [Fri, 12 Feb 2016 21:58:33 +0000 (22:58 +0100)]
update signal connetion for new CairoWidget::set_dirty() API

8 years agoAllow partial CairoWidget exposure
Robin Gareus [Fri, 12 Feb 2016 21:57:46 +0000 (22:57 +0100)]
Allow partial CairoWidget exposure

8 years agoAdd Playhead to Export Report Dialog
Robin Gareus [Fri, 12 Feb 2016 21:12:40 +0000 (22:12 +0100)]
Add Playhead to Export Report Dialog

8 years agoAdd Auditioned to Export Report Dialog.
Robin Gareus [Fri, 12 Feb 2016 20:15:43 +0000 (21:15 +0100)]
Add Auditioned to Export Report Dialog.

8 years agorefine export dialog Location:
Robin Gareus [Fri, 12 Feb 2016 19:19:31 +0000 (20:19 +0100)]
refine export dialog Location:

* fix GUI logic for "Timespan" requirement
* change order to match filename.

8 years agoinclude timespan-option with export preset
Robin Gareus [Fri, 12 Feb 2016 13:01:29 +0000 (14:01 +0100)]
include timespan-option with export preset

8 years agofix copy constructor.
Robin Gareus [Fri, 12 Feb 2016 12:56:26 +0000 (13:56 +0100)]
fix copy constructor.

8 years agoimprove consistency of presentational properties in the export dialog.
Robin Gareus [Fri, 12 Feb 2016 12:17:46 +0000 (13:17 +0100)]
improve consistency of presentational properties in the export dialog.

8 years agoClass 'AudioGrapher::Analyser' needs to be exportable for building with MSVC
John Emmas [Fri, 12 Feb 2016 12:28:15 +0000 (12:28 +0000)]
Class 'AudioGrapher::Analyser' needs to be exportable for building with MSVC

8 years agoAccommodate newly introduced source(s) in our MSVC project (audiographer)
John Emmas [Fri, 12 Feb 2016 12:26:14 +0000 (12:26 +0000)]
Accommodate newly introduced source(s) in our MSVC project (audiographer)

8 years agoAccommodate newly introduced source(s) in our MSVC project (portaudio_backend)
John Emmas [Fri, 12 Feb 2016 12:25:17 +0000 (12:25 +0000)]
Accommodate newly introduced source(s) in our MSVC project (portaudio_backend)

8 years agoRemove no longer needed 'prolooks' source(s) from our MSVC projects (gtkmm2ext &...
John Emmas [Fri, 12 Feb 2016 12:23:23 +0000 (12:23 +0000)]
Remove no longer needed 'prolooks' source(s) from our MSVC projects (gtkmm2ext & gtk2_ardour)

8 years agoVisualize Peaks and TruePeaks in Export Report
Robin Gareus [Fri, 12 Feb 2016 11:52:49 +0000 (12:52 +0100)]
Visualize Peaks and TruePeaks in Export Report

8 years agoexport analysis: include true-peak positions.
Robin Gareus [Fri, 12 Feb 2016 11:42:51 +0000 (12:42 +0100)]
export analysis: include true-peak positions.

8 years agovamp-true-peak: collect peak locations >= -1dBTP
Robin Gareus [Fri, 12 Feb 2016 11:38:54 +0000 (12:38 +0100)]
vamp-true-peak: collect peak locations >= -1dBTP

8 years agoHelp clang static analyzer.
Robin Gareus [Thu, 11 Feb 2016 22:12:20 +0000 (23:12 +0100)]
Help clang static analyzer.

8 years agofix alignment of "N/A" messages
Robin Gareus [Thu, 11 Feb 2016 21:03:14 +0000 (22:03 +0100)]
fix alignment of "N/A" messages

8 years agoAllow removing the timespan name from the export-filename:
Robin Gareus [Thu, 11 Feb 2016 19:53:32 +0000 (20:53 +0100)]
Allow removing the timespan name from the export-filename:

- if only one timespan is exported
and
- if at least one other name option is set.

8 years agoPrepare for optional timespan name during export.
Robin Gareus [Thu, 11 Feb 2016 19:51:19 +0000 (20:51 +0100)]
Prepare for optional timespan name during export.

8 years agoremove all traces of "prolooks" and related classes
Paul Davis [Thu, 11 Feb 2016 18:03:24 +0000 (13:03 -0500)]
remove all traces of "prolooks" and related classes

8 years agoOpen URis with spaces.
Robin Gareus [Thu, 11 Feb 2016 15:43:35 +0000 (16:43 +0100)]
Open URis with spaces.

8 years agotweak export dialog layout, add "open folder" button
Robin Gareus [Thu, 11 Feb 2016 15:10:00 +0000 (16:10 +0100)]
tweak export dialog layout, add "open folder" button

8 years agotweak spectrum logscale
Robin Gareus [Thu, 11 Feb 2016 15:09:34 +0000 (16:09 +0100)]
tweak spectrum logscale

8 years agopost-export scaleable layout.
Robin Gareus [Thu, 11 Feb 2016 13:07:32 +0000 (14:07 +0100)]
post-export scaleable layout.

8 years agoupdate export analyser for dBTP
Robin Gareus [Thu, 11 Feb 2016 13:07:27 +0000 (14:07 +0100)]
update export analyser for dBTP

8 years agoadd dBTP Vamp plugin
Robin Gareus [Thu, 11 Feb 2016 09:24:22 +0000 (10:24 +0100)]
add dBTP Vamp plugin

8 years agoAdd debugging output for WinMME midi device names
Tim Mayberry [Wed, 10 Feb 2016 02:08:32 +0000 (12:08 +1000)]
Add debugging output for WinMME midi device names

8 years agoOnly build one version of the Portaudio backend that supports both blocking and callb...
Tim Mayberry [Fri, 5 Feb 2016 13:35:12 +0000 (23:35 +1000)]
Only build one version of the Portaudio backend that supports both blocking and callback API

8 years agoAdd button to Engine Dialog to choose between Portaudio callback and blocking API
Tim Mayberry [Fri, 5 Feb 2016 13:32:59 +0000 (23:32 +1000)]
Add button to Engine Dialog to choose between Portaudio callback and blocking API

8 years agoChange CairoWidget::get_active() to be const
Tim Mayberry [Fri, 5 Feb 2016 13:10:49 +0000 (23:10 +1000)]
Change CairoWidget::get_active() to be const

8 years agoImplement new AudioBackend API in PA backend to choose between callback and blocking API
Tim Mayberry [Fri, 5 Feb 2016 13:29:53 +0000 (23:29 +1000)]
Implement new AudioBackend API in PA backend to choose between callback and blocking API

8 years agoAdd API to AudioBackend for choosing between portaudio blocking or callback API
Tim Mayberry [Fri, 5 Feb 2016 13:27:40 +0000 (23:27 +1000)]
Add API to AudioBackend for choosing between portaudio blocking or callback API

8 years agoAdd a missing include from portaudio WINMME source file
Tim Mayberry [Fri, 5 Feb 2016 13:13:44 +0000 (23:13 +1000)]
Add a missing include from portaudio WINMME source file

Apparently this is now required by my version of gcc/mingw

8 years agoImplement MIDI device enumeration and latency offset/calibration in portaudio backend
Tim Mayberry [Fri, 4 Dec 2015 12:23:01 +0000 (22:23 +1000)]
Implement MIDI device enumeration and latency offset/calibration in portaudio backend

8 years agoShow/Hide midi calibrate button based on AudioBackend::enumerate_devices
Tim Mayberry [Thu, 3 Dec 2015 03:39:07 +0000 (13:39 +1000)]
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.

8 years agoonly instantiate Analysis Processor if needed
Robin Gareus [Thu, 11 Feb 2016 01:11:44 +0000 (02:11 +0100)]
only instantiate Analysis Processor if needed

8 years agocont'd work on Post-Export Analysis GUI:
Robin Gareus [Thu, 11 Feb 2016 00:59:37 +0000 (01:59 +0100)]
cont'd work on Post-Export Analysis GUI:

* vertically centered EBU-R128 numerics
* stereo waveform
* spectrum annotations
* SoundFile Info Table

8 years agostereo waveform, prepare spectrum faceplate
Robin Gareus [Wed, 10 Feb 2016 23:19:01 +0000 (00:19 +0100)]
stereo waveform, prepare spectrum faceplate

8 years agouse short-term ebur128 histogram
Robin Gareus [Wed, 10 Feb 2016 23:09:19 +0000 (00:09 +0100)]
use short-term ebur128 histogram

8 years agoFix bug #6766, Crash when creating new Session while one is currently open
Tim Mayberry [Wed, 10 Feb 2016 23:52:36 +0000 (09:52 +1000)]
Fix bug #6766, Crash when creating new Session while one is currently open

8 years agoFix bug #6762, MIDNAM note read outs don't work when dragging MIDI note
Tim Mayberry [Wed, 10 Feb 2016 12:55:37 +0000 (22:55 +1000)]
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

8 years agoexported waveform annotation
Robin Gareus [Wed, 10 Feb 2016 20:45:34 +0000 (21:45 +0100)]
exported waveform annotation

8 years agoGUI for optional analysis
Robin Gareus [Wed, 10 Feb 2016 20:28:43 +0000 (21:28 +0100)]
GUI for optional analysis

8 years agomake post-export analysis optional (default to enabled)
Robin Gareus [Wed, 10 Feb 2016 20:26:02 +0000 (21:26 +0100)]
make post-export analysis optional (default to enabled)

8 years agoFix spelling
Todd Naugle [Wed, 10 Feb 2016 19:25:14 +0000 (13:25 -0600)]
Fix spelling

8 years agocont'd work on Post-Export Analysis GUI.
Robin Gareus [Wed, 10 Feb 2016 18:29:12 +0000 (19:29 +0100)]
cont'd work on Post-Export Analysis GUI.

8 years agoaudiographer unit-test libs
Robin Gareus [Wed, 10 Feb 2016 18:28:43 +0000 (19:28 +0100)]
audiographer unit-test libs

8 years agocleanup: unhardcode spectrum size, logscale, whitespace fixes
Robin Gareus [Wed, 10 Feb 2016 18:28:21 +0000 (19:28 +0100)]
cleanup: unhardcode spectrum size, logscale, whitespace fixes

8 years agoAdd VAMP SDK to audiographer deps.
Robin Gareus [Wed, 10 Feb 2016 16:08:06 +0000 (17:08 +0100)]
Add VAMP SDK to audiographer deps.

8 years agoUpdate Export Report GUI
Robin Gareus [Wed, 10 Feb 2016 14:09:01 +0000 (15:09 +0100)]
Update Export Report GUI

8 years agoAdd loudness histogram Feature to the EBUr128 VAMP plugin
Robin Gareus [Wed, 10 Feb 2016 14:08:44 +0000 (15:08 +0100)]
Add loudness histogram Feature to the EBUr128 VAMP plugin

8 years agomove export-analysis implementation into cc-file.
Robin Gareus [Wed, 10 Feb 2016 14:10:40 +0000 (15:10 +0100)]
move export-analysis implementation into cc-file.

lib/libfftw3f.a(apiplan.o):apiplan.c:(.text+0x430): multiple definition of `fftwf_destroy_plan'

This is because static symbols in a .dll have no fixed address and
are mapped when loading the dll. Static functions in .exe do have a fixed
address.
With a header-only implementation the functions are provided
libardour.dll and ardour.exe