bc487bb4b0
replicate the remove-all-trailing whitespace commit(s) in master
2016-02-22 15:31:24 -05:00
589f2a1ab8
change suffix of keybinding files to ".keys" to avoid conflict with earlier versions.
...
Move some code around that should never have been inside libs/ardour to begin with.
2016-02-22 15:31:24 -05:00
379bc35948
update Mackie code to use new API to get all actions
2016-02-22 15:31:24 -05:00
b944532f67
cleanup Bindings/ActionMap API to get all actions for various purposes
2016-02-22 15:31:24 -05:00
66e0328a93
create a two-way association between an action map and a bindings object, rather than just one way.
...
This helps us lookup bindings when printing out lists for the user
2016-02-22 15:31:24 -05:00
949163f806
more changes to Bindings, Keyboard APIs
2016-02-22 15:31:24 -05:00
67e19c177f
radically change Keyboard/Binding API design to disconnect Gtk::Action lookup from binding definition
...
We need this because we need binding information/objects before all
Actions have been defined.
2016-02-22 15:31:24 -05:00
29b69b0ab4
various fixes for saving bindings state
2016-02-22 15:31:24 -05:00
f028a6bffb
fix memory lifetime management issue
2016-02-22 15:31:24 -05:00
36023db8aa
change/extend/rework Bindings API to allow replacement and provide stub/hook/call to save bindings
2016-02-22 15:31:23 -05:00
04a9ce757c
initial compilable version of saving key bindings with "new" scheme
2016-02-22 15:31:23 -05:00
00933950b7
small rationalization of naming and code for managing plugin GUI visibility
2016-02-22 15:31:23 -05:00
e13322e7f5
bindings: prevent double registration and double signal connection, and provide get_all_actions() methods
2016-02-22 15:31:23 -05:00
d0fc12bd22
remove all action-registering API from Gtkmm2ext::ActionManager
2016-02-22 15:31:23 -05:00
0f17508e6c
changes to Bindings and Keyboard API to support (mostly) GTK-free keyboard bindings
2016-02-22 15:31:23 -05:00
077bb13e94
extend API for tabbable visibility management
2016-02-22 15:31:23 -05:00
d4664434f7
set "close-button" data on Tabbable contents.
...
I tried doing this in the constructor and got a segfault for reasons I don't understand
but probably should
2016-02-22 15:31:23 -05:00
5e0337a4a3
convert CairoIcon into a NO_WINDOW widget that just draws into its parent widget
2016-02-22 15:31:23 -05:00
a48684c692
if _need_bg is set to false in a CairoWidget, then don't actually draw the background
2016-02-22 15:31:23 -05:00
b6c4ae46d0
clean up tabbable state maintainance; drop Gtk::Button unintentionally used for close cross image
2016-02-22 15:31:23 -05:00
d6f3a006d2
scale CairoIcon by Gtkmm2ext::UI::ui_scale
2016-02-22 15:31:23 -05:00
b48c7c0180
revert to thin lines for close cross icon
2016-02-22 15:31:23 -05:00
914af0f0c8
move ui_scale static member from ARDOUR_UI to GtkUI
2016-02-22 15:31:22 -05:00
0819efe27c
remove unused lines
2016-02-22 15:31:22 -05:00
90845af8fa
hopefully get dynamic tabbable menu state right this time
2016-02-22 15:31:22 -05:00
e2dfc10698
thicken up lines of close cross icon
2016-02-22 15:31:22 -05:00
1c41f75488
provide a sigc::signal to track display state changes for a Tabbable
2016-02-22 15:31:22 -05:00
308f6ed828
changes to get show/hide/attach/detach working
2016-02-22 15:31:22 -05:00
fd938d95bf
change/extend Tabbable API to allow for show/hide/attach/detach
2016-02-22 15:31:22 -05:00
8e14496919
use new CairoIcon to add a tab-close "button" to tabs
2016-02-22 15:31:22 -05:00
e026adf4a9
second part of: add new CairoWidget-derived class that does nothing but shown an ArdourIcon.
2016-02-22 15:31:22 -05:00
c06c2c29db
add new CairoWidget-derived class that does nothing but shown an ArdourIcon.
...
Somewhat necessary by placement of ArdourButton class in directory heirarchy. But these are also
much simpler
2016-02-22 15:31:22 -05:00
434ef34229
add tab-closing buttons to tabs.
...
Images are non-scalable, too big and ugly. Next commit ...
2016-02-22 15:31:22 -05:00
347ba94bcd
add ::make_visible() to Tabbable class
2016-02-22 15:31:22 -05:00
436706c8d4
remove debug output
2016-02-22 15:31:22 -05:00
e46b518319
classes derived from WindowProxy are responsible for their own window creation in ::set_state().
...
Fixes a crash reported by A.Prokoudine when opening a session with visible plugin GUIs
2016-02-22 15:31:22 -05:00
37fce09a18
widespread changes to get the new (oldArdour binding scheme to be used for keyboard accelerators
2016-02-22 15:31:22 -05:00
d84f655495
add suggestive tooltips for tabs; remove position argument for Tabbable since it isn't really usable
2016-02-22 15:31:21 -05:00
552e995297
save/restore tabbable state
2016-02-22 15:31:21 -05:00
9f0ea99fac
better way to switch to a tab
2016-02-22 15:31:21 -05:00
03b354a99e
make tabs reorderable
2016-02-22 15:31:21 -05:00
a5150d500d
when tearing off a tab, make the window be the same size as the allocation of the tab
2016-02-22 15:31:21 -05:00
9010262bed
first compilable version of tabbable design.
...
I would have loved to split this apart, but there are just so many interrelated changes,
it makes little sense and would be a huge effort that would break future git bisect
use because so many intermediate commits would not compile
2016-02-22 15:31:21 -05:00
85eee3b09d
compilable version of WindowProxy
2016-02-22 15:31:21 -05:00
a29f76c1c4
initial versions of Tabbable object
2016-02-22 15:31:21 -05:00
df05e97288
first version of Gtkmm2ext::WindowProxy
2016-02-22 15:31:21 -05:00
Adrian Knoth
6fa88273aa
Spelling correction patch from Debian
...
Patch taken (and forward-ported to HEAD) from
<https://anonscm.debian.org/cgit/pkg-multimedia/ardour.git/plain/debian/patches/0100-fix-typos.patch >
2016-02-22 15:13:01 -05:00
André Nusser
1afbdaff58
Fix compilation warnings. (libs part)
2016-02-22 15:11:02 -05:00
86d27a736c
better system for managing kbd focus after cmd-w closing a dialog.
...
Key, Button and Focus In events in the editor+mixer windows cause the respective window to be noted
as the window to which focus should return after a dialog is closed with cmd/ctrl-w
2016-02-22 14:03:55 -05:00
60c4b30b7e
manually revert most of previous commit related to dialog/main window focus management
2016-02-22 13:55:31 -05:00
3a08ac5e1f
os x: an initial attempt at fixing loss of keyboard focus after cmd-w to close dialog
2016-02-22 11:49:17 -05:00
30497db823
prepare for gcc6 rint() precision degradation
...
gcc6 returns a float for "rint ((float) val)"
2016-02-22 00:07:21 +01:00
f6fe87d63e
prevent some mess when automating control ports on midi synths
2016-02-21 22:19:08 +01:00
3cc4ee8029
alsa: allow environment variable ARDOUR_ALSA_DEVICE to identify a single, arbitrary ALSA PCM name as the only available/allowed device
2016-02-21 12:44:54 -05:00
2d18283379
make threaded waveview rendering a configure time option (enabled by default)
2016-02-21 12:34:10 -05:00
344cf05540
OS X: fix the handling of SUPER,HYPER,META (see code comment for more)
2016-02-21 10:48:35 -05:00
43d3b4656a
add an OOM check.
2016-02-20 20:47:13 +01:00
67d99a3c5b
help clang static analyzer
2016-02-20 20:36:58 +01:00
f519edbe8e
fix segfault in libardour unit-tests (possible crash in mackie sf)
2016-02-20 20:26:34 +01:00
ff427be0fa
add processor lookup by PBD::ID via session
...
In preparation for Lua bindings this completes the basic set of
Session object lookup: route, source, controllable, region, processor
2016-02-20 20:26:18 +01:00
318f3850de
third time lucky
2016-02-19 23:25:15 +01:00
452bca79eb
and now without typo
2016-02-19 23:19:19 +01:00
9633ea3b01
fix Windows OSC support
2016-02-19 23:16:38 +01:00
b0518fa2be
Revert "disable threaded waveform rendering for 4.7"
...
This reverts commit b0032adb44
.
2016-02-19 21:13:29 +01:00
b0032adb44
disable threaded waveform rendering for 4.7
2016-02-18 18:56:05 -05:00
c92e822332
remove HYPER,SUPER,META modifier masks from Keyboard::RelevantModifierMask so that modifier_state_equals() works on OS X
...
GTK on OS X adds META when Command is pressed even though it also uses MOD2 to indicate COMMAND. So Cmd-w was actually META-MOD2-w and modifier_state_equals(MOD2)
would fail. This should have nothing but good side effects
2016-02-18 09:44:50 -05:00
dd7649a409
add a static utility function (should really be in utils.cc and public) to show modifier state in english; use said function
2016-02-18 09:43:03 -05:00
ec708926fa
now with return value
2016-02-17 17:03:14 +01:00
5e50a7d6cf
allot to open OSX Finder with arbitrary paths
2016-02-17 16:29:25 +01:00
58f7a11287
Make sure that MSVC knows which version of 'ceil()' we want
...
(it doesn't have a version that understands 'framecnt_t')
2016-02-17 12:17:05 +00:00
f8bc9c66a5
OSC: remove "/session/loaded" message altogether, for testing on Win.
2016-02-16 16:06:39 -06:00
86edc1ccfe
Fill some more VST transport flags.
2016-02-16 15:33:12 -06:00
f30d1d6073
fix normalize + trim silence at end.
2016-02-16 22:24:01 +01:00
0ce4113dbb
prepare threshold for silence trim
2016-02-16 21:25:54 +01:00
31442cd63d
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()
2016-02-16 18:17:13 +01:00
cbdae78511
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)
2016-02-16 15:36:43 +01:00
c1910351a5
Revert "proper debug prints for Analyser"
...
This reverts commit 9a281963e1
.
audiographer cannot use symbols from libardour (cyclic dependency)
(only headers only are ok)
"DebugBits ExportAnalysis" symbol break windows and unit-test builds.
2016-02-16 15:13:12 +01:00
240daf95f5
re-bin analysis results to take silence striping into account.
2016-02-16 15:09:31 +01:00
a664fb703e
chunk data before analysis, prefer 8K
...
* consistent spectrum display for all reports (same binsize)
* improved performance (power of two)
2016-02-16 14:25:49 +01:00
c52854fd3d
Analysis: 1 sample slack (for resampling rounding)
2016-02-16 14:24:08 +01:00
a929b8b872
fix Export SRC buffer report:
...
the resampler is always fed with N channels, it won't output half channels
2016-02-16 14:00:31 +01:00
e18e765c75
Fix Analysis duration for added silence
2016-02-16 13:22:12 +01:00
9ab061c6cb
don't re-use variable names
2016-02-16 13:21:45 +01:00
9a281963e1
proper debug prints for Analyser
2016-02-16 13:21:28 +01:00
de94f3ce83
fix typo in previous commit
2016-02-15 17:29:54 -06:00
136f705af9
Defer session_loaded until AFTER lo_server_new.
...
This seems like the right thing to do, and -might- fix OSC on Windows.
2016-02-15 16:55:21 -06:00
1355d186cb
extend analysis spectral range to -120dB
2016-02-15 18:55:04 +01:00
e6ea35c3de
Add normalization gain factor to Export Analysis
2016-02-15 15:46:49 +01:00
f23bb163a8
Ensure export starts with a clean state
2016-02-14 13:23:45 +01:00
455f07d087
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.
2016-02-14 02:13:04 +01:00
820bd0fe51
and another typo in d442190b
2016-02-14 00:10:41 +01:00
09167d3e59
fix typos in d442190b
2016-02-14 00:02:00 +01:00
48532baaa7
remove C++11'isms from libptformat. back to C++98 compat.
2016-02-13 23:15:47 +01:00
d442190b8a
slightly improved windows post-export hook support.
2016-02-13 23:12:50 +01:00
73245c6217
some half-baked support for windows command-arg substitutions
2016-02-13 17:04:11 +01:00
fbbde01f25
Add preliminary PTX support for Protools 10 and 11
...
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2016-02-13 09:50:52 +01:00
81a9f7a956
Unjumble the PT5 wav ordering in regions/tracks
...
by sorting alphanumerically and case insensitively
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2016-02-13 09:50:52 +01:00
Julien ROGER
a3dd27c41b
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
2016-02-13 12:45:40 +10:00
108528b63d
amend d814acb
- SystemExec/Export debugging
2016-02-13 01:39:41 +01:00
d814acbb8f
add some debugging capability for users of SystemExec. Needs review.
2016-02-12 18:22:12 -06:00
4fdd03892d
add NULL check for VST audioMasterSizeWindow
2016-02-13 00:51:17 +01:00
4a9ffee486
Allow partial CairoWidget exposure
2016-02-12 22:57:46 +01:00
2bdb078b63
include timespan-option with export preset
2016-02-12 14:01:40 +01:00
258c816554
fix copy constructor.
2016-02-12 14:01:40 +01:00
52ebf94c1e
Class 'AudioGrapher::Analyser' needs to be exportable for building with MSVC
2016-02-12 12:31:24 +00:00
48fd05c391
Accommodate newly introduced source(s) in our MSVC project (audiographer)
2016-02-12 12:31:23 +00:00
fcf757139f
Accommodate newly introduced source(s) in our MSVC project (portaudio_backend)
2016-02-12 12:31:23 +00:00
3f43e5cd04
Remove no longer needed 'prolooks' source(s) from our MSVC projects (gtkmm2ext & gtk2_ardour)
2016-02-12 12:31:22 +00:00
50145a93e6
export analysis: include true-peak positions.
2016-02-12 12:42:51 +01:00
a60312cfea
vamp-true-peak: collect peak locations >= -1dBTP
2016-02-12 12:38:54 +01:00
4fd47182f2
Help clang static analyzer.
2016-02-11 23:12:20 +01:00
2c2002ee9c
Prepare for optional timespan name during export.
2016-02-11 20:58:05 +01:00
e6b06597b7
remove all traces of "prolooks" and related classes
2016-02-11 13:03:24 -05:00
2429308bac
Open URis with spaces.
2016-02-11 16:43:35 +01:00
f9e526dab8
tweak spectrum logscale
2016-02-11 16:09:34 +01:00
4b17bcb8b8
update export analyser for dBTP
2016-02-11 14:14:01 +01:00
d2fa4b3388
add dBTP Vamp plugin
2016-02-11 14:14:01 +01:00
148f2ab8e5
Add debugging output for WinMME midi device names
2016-02-11 12:15:07 +10:00
1499cd8670
Only build one version of the Portaudio backend that supports both blocking and callback API
2016-02-11 12:15:07 +10:00
85b4acc916
Change CairoWidget::get_active() to be const
2016-02-11 12:15:07 +10:00
830db39585
Implement new AudioBackend API in PA backend to choose between callback and blocking API
2016-02-11 12:15:07 +10:00
16835032ab
Add API to AudioBackend for choosing between portaudio blocking or callback API
2016-02-11 12:15:07 +10:00
d50a821374
Add a missing include from portaudio WINMME source file
...
Apparently this is now required by my version of gcc/mingw
2016-02-11 12:15:07 +10:00
b2cf028fcb
Implement MIDI device enumeration and latency offset/calibration in portaudio backend
2016-02-11 12:15:07 +10:00
6c10b31af1
only instantiate Analysis Processor if needed
2016-02-11 02:22:54 +01:00
df0f1b5ced
stereo waveform, prepare spectrum faceplate
2016-02-11 02:22:54 +01:00
b01485f61f
use short-term ebur128 histogram
2016-02-11 02:22:54 +01:00
837f8fac2b
make post-export analysis optional (default to enabled)
2016-02-10 22:35:01 +01:00
8bc7ff85fb
audiographer unit-test libs
2016-02-10 19:28:43 +01:00
d8b04d3124
cleanup: unhardcode spectrum size, logscale, whitespace fixes
2016-02-10 19:28:21 +01:00
4928d53f8d
Add VAMP SDK to audiographer deps.
2016-02-10 17:08:06 +01:00
e41296bf5d
Add loudness histogram Feature to the EBUr128 VAMP plugin
2016-02-10 15:11:45 +01:00
6c8a062be9
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
2016-02-10 15:11:45 +01:00
7c3d3031dc
Fix for undefined references to fftw lib when using gcc/mingw
2016-02-10 23:10:17 +10:00
dd431de07d
Add newly introduced source(s) to our MSVC project (audiographer)
2016-02-10 10:55:42 +00:00
7cb8b94d07
Add newly introduced source(s) to our MSVC project (libardour)
2016-02-10 10:54:44 +00:00
c1642fead8
Post-export Analysis
2016-02-10 03:01:05 +01:00
1ec78d26ee
Fix crash when aborting export.
...
The "Stop" button results in ExportHandlerPtr being destroyed.
This must not happen while it's in use -- in particular during
ExportHandler::start_timespan() and ExportHandler::finish_timespan()
2016-02-09 21:36:49 +01:00
c00a07e811
detailed export state, prepare resolution for #6512
...
(Post-processing step should announce itself during an export)
2016-02-09 13:15:54 +01:00
a1d2c13077
mackie: if device type is unknown, make -D mackie show that
2016-02-07 10:28:07 -05:00
80a678de28
handle Mackie control device type ID = 0x6 (Behringer X-Touch Compact)
2016-02-07 10:28:07 -05:00
d862c357b3
change faderport name
2016-02-06 16:42:34 -06:00
09921e1d76
Mackie: shift+marker needs to remove marker. moved session-range to shift+solo.
...
Originally cbbd87f50b in mixbus/master
2016-02-06 15:47:27 -05:00
5516e3bdd2
mackie: better fix for
2016-02-06 14:24:06 -05:00
3b1d1675de
mackie: stop crashes when switching to X-Touch Compact device
2016-02-05 17:59:29 -05:00
ff14f4d63c
Mackie Protocol: more fixes for aac6a5
2016-02-04 11:44:23 -06:00
8f7ae26a96
Fix reporting of compressor mode (Mixbus)
2016-02-04 11:41:17 -06:00
1b5931a028
Mackie Protocol: fixes for aac6a5
2016-02-04 11:17:45 -06:00
37d6265e13
mackie: try to improve logic and management of device profiles
2016-02-04 11:24:26 -05:00
d3081fd816
mackie: reverse previous profile editor changes; allow profile to define anything except plain and shift actions.
...
For Fn keys we also allow plain and shift definitions
2016-02-04 11:24:26 -05:00