ef16fdcd89
Fix parameter descriptors for one control leaking into another.
2014-11-03 18:40:17 -05:00
6e16f69c26
Add menu to set frequency controls in beats, and half or double current value.
...
Test with e.g. fomp:cs_phaser1_lfo LFO frequency.
2014-11-03 17:29:11 -05:00
7204702c3f
Reduce coupling between Plugin and PluginInsert.
2014-11-03 13:40:50 -05:00
68507badd9
Fix compilation with old LV2. Maybe.
2014-11-03 11:54:35 -05:00
6e8e3856cb
Show 3 decimal digits when printing values.
2014-11-02 18:47:22 -05:00
bb4e3a2916
add Gtkmm2ext::event_inside_widget_window()
2014-11-02 08:57:47 -05:00
d02d8337a9
Support pretty display of arbitrary plugin parameter units.
...
Try e.g. fomp:cs_chorus1 which has Hz and ms controls.
2014-11-02 02:10:24 -05:00
47c4929bc2
Display gain and midiNote plugin parameters/properties nicely.
...
Show fancy values on generic GUI controls, automation lane controls, and automation lane verbose cursor.
Fix text display of midiNote values.
Make bigstep of midiNote parameters 12 (one octave).
Add ARDOUR::value_as_string() as a stateless one-stop-shop for value printing.
2014-11-02 02:10:24 -05:00
8a128b33d3
Automation of LV2 plugin properties.
...
Work towards ParameterDescriptor being used more universally to describe control characteristics.
2014-11-02 02:10:24 -05:00
6dfb11c2d0
Move ParameterDescriptor from Plugin to its own header.
...
This fixes circular dependency issues that arise when using ParameterDescriptor more widely.
2014-11-02 02:10:24 -05:00
bd6ba1717e
Decouple ControlUI from port index.
2014-11-02 02:10:24 -05:00
b6d8805961
properly initialize variable (amend cffd18d2d8
)
2014-11-02 02:50:28 +01:00
cffd18d2d8
implement spin-button internal<>interface bridge
...
Widgets were written to use "[User] Interface" values, but the
spinbutton in a Bar-controller should allow to directly access
the "Internal Value".
2014-11-01 18:24:31 +01:00
049c11de58
Slider Controller API Change
...
Prepare to allow BarController (with Spinbutton) to translate
internal/interface values for the SpinBox.
(The change is irrelevant for the fader/slider itself which
always use the [user-]interface value)
2014-11-01 18:22:29 +01:00
d948e4cc91
Add a newly introduced header file to our MSVC project (libardour)
2014-11-01 13:53:55 +00:00
660e8c4425
don't print error when announcing property values for plugins that have none
2014-11-01 07:27:36 +01:00
002ebcc4ea
increase fine grained control (Ctrl+Alt+[drag|scroll])
2014-11-01 07:27:35 +01:00
c855d17e09
Fix compilation against older LV2.
2014-10-31 21:03:12 -04:00
5de6c21ec1
More generic RT-safe implementation of LV2 properties.
2014-10-31 20:46:43 -04:00
324ab35abc
Use precise define names for LV2 version configure checks.
2014-10-31 20:46:09 -04:00
0a60077a61
Fix spelling error.
2014-10-31 20:46:09 -04:00
8d4cbc4cc1
fix Dummy DSP load on win32 & low-pass filter load
...
g_get_monotonic_time() has millisecond granularity,
use performance Counter if available
2014-10-31 22:51:47 +01:00
f02610b47c
LV2 patch amends:
...
* fix Label (user readable key)
* check if patch range is a file Path
* free some lilv-nodes (plug small mem leak)
2014-10-31 19:42:28 +01:00
90872c2b31
more changes for rectangle outlining
2014-10-31 10:56:08 -04:00
a942493565
comment fix and expansion re: Canvas::Rectangle outline
2014-10-31 10:56:08 -04:00
b8cea19b95
prototype [LV2]patch-change support for generic plugin UIs.
2014-10-31 03:26:47 +01:00
973d40e3ac
Add support for USE_CAIRO_IMAGE_SURFACE when building with MSVC
...
(new preprocessor directive - greatly improves CPU loading)
2014-10-29 17:36:30 +00:00
dc39448a22
turn pixfader into a cairowidget
2014-10-28 02:18:46 +01:00
b04414d170
allow to use cairo-image/software surface for canvas & cairowidgets
2014-10-28 02:15:10 +01:00
6dc3a4bf61
remove unused old API
2014-10-28 01:27:14 +01:00
e02efddb21
skip meter re-draw when no pixels are changed.
2014-10-25 17:28:14 +02:00
a6ceff61dd
proper solution for variable-args jack_client_open()
2014-10-25 17:28:13 +02:00
9239a49a32
Add some newly introduced source files to our MSVC project (gtkmm2ext)
2014-10-24 18:45:53 +01:00
85eda0a5f3
Add some newly introduced source files to our MSVC project (jack_audiobackend)
2014-10-24 18:45:52 +01:00
3d39689769
Some minor bits of casting to keep MSVC happy when building 'backends/jack/weak_libjack.c'
2014-10-24 18:45:51 +01:00
f900711136
port changes to ARDOUR::Location and ARDOUR::Locations APIs from Tracks to Ardour.
...
Fixes deadlocks caused by mutex on Locations list, and clarifies the purposes and uses of the class-level and
object-level change-related signals.
2014-10-24 12:18:46 -04:00
2f4a8cf693
avoid const cast warning
2014-10-24 12:18:46 -04:00
65036cf3eb
add #include that had gone unnoticed before
2014-10-24 12:18:46 -04:00
b52304661f
fix screwup in prev commit-diff
2014-10-24 17:19:28 +02:00
5e7f935a27
add explicit construction (for MSVC) and some debug messages
2014-10-24 17:15:03 +02:00
25a6aa57a3
fix jack transport return value
2014-10-24 16:19:44 +02:00
e025cc008c
use x-macros to simplify weak-jack implementation
2014-10-24 15:18:38 +02:00
ad09be8c78
fix libjack names
2014-10-24 14:36:04 +02:00
1e357b5109
fix 64bit compile with old gcc
2014-10-23 20:42:02 +02:00
2bc3ec6ab3
add new Gtk2mmext::EmScale class for measuring font-based sizing
2014-10-23 13:21:04 -04:00
9a60bb58b2
skip unavailable backends early on.
2014-10-23 16:53:14 +02:00
d991bb10ca
add 'available' interface to the AudioBackendInfo
...
If a backend can be loaded, it does not mean that it can be used;
e.g. weak-linked jack-backend if libjack is not available.
2014-10-23 16:53:14 +02:00
f3ff1b9669
weak/runtime jack linking: load libjack dynamically at runtime
2014-10-23 16:53:13 +02:00
730e09ce65
another round of compiler warning fixes
2014-10-23 05:31:40 +02:00
c6a3d6bc48
small round of compiler warning fixes
2014-10-23 03:43:04 +02:00
f7211ff8f7
fix jack/mingw compilation
2014-10-22 23:57:55 +02:00
679356c5ee
fix delivery of MMC events under split process cycle conditions
2014-10-22 17:07:11 -04:00
e32a8e8260
require a timestamp on MIDI::MachineControl::send()
2014-10-22 17:07:11 -04:00
a289947b4f
fix timestamps for immediate MIDI events to deal with split process cycle conditions
2014-10-22 17:07:11 -04:00
bd97450ef8
error/debug output when dropping MIDI event due to timing now shows MIDI bytes
2014-10-22 17:07:11 -04:00
aafd1d77e9
remove unused code
2014-10-22 17:07:11 -04:00
68458cde69
fix all 4 backends' failure to include the main "backend" thread when computing ::in_process_thread()
2014-10-22 17:07:11 -04:00
aa0effb4cb
ignore negative value locates and MMC locate commands
2014-10-22 17:07:11 -04:00
3ddd797e46
remove obsolete jack includes in libardour
2014-10-22 16:56:12 +02:00
fbaae45eb1
stopgap solution for VST plugins that call audioMasterWantMidi during effOpen
...
audioMasterWantMidi needs plugin _info, but _info is currently only
available after instantiating the plugin in LXVSTPluginInfo::load().
vstfx_instantiate() -> effOpen -> [plugin] -> vst_callback(..,opcode=6,..) -> crash
2014-10-20 23:30:49 +02:00
825e2c823c
add support for VST plugins without any parameters
2014-10-20 23:30:48 +02:00
ffde2fb5f9
OS 10.10 compile fixes
...
* fix clang pickiness regarding boolean
* ignore ‘verify’ macro
* tested with Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
2014-10-19 23:15:13 +02:00
ab445a0e28
windows: don’t popup message box when libjack is not found
2014-10-17 10:58:49 +02:00
d34bd9e6a0
fix midi automation sliders
...
Allow controls to work without a list. see also 34c1465
and b469cd2
2014-10-16 21:21:45 +02:00
0477d11476
when cancelling an import, call DropReferences so that the Session forgets about the new sources.
...
Not doing this leaves the sources in the session list and then the session fails to open on next load
because the files are not there.
Arguably we should not announce the new files until they are complete, but this is a simpler fix for now.
2014-10-15 21:12:35 -04:00
49b9d22217
remove debug output
2014-10-15 19:08:46 -04:00
5d53335300
when flushing notifications/signals from an ARDOUR::Playlist, emit the RegionAdded/ContentsChanged signals first so that when LayersChanged is sent, the receivers know about all the new regions
2014-10-15 18:44:22 -04:00
ab658d7ca1
add mutex/lock to all Evoral::SMF methods that use _smf/libsmf, to avoid inadvertent corruption via multithreaded access.
...
Serialization of Session::save_state() will already protect against most of this, but there is really no
good reason why Evoral::SMF's API should require single-threaded/explicit serialization.
2014-10-15 18:44:22 -04:00
7e764ea405
allow internal generators to make noise, even if we are not rolling, and using auto-input
2014-10-15 11:09:00 -05:00
8dc4187f1a
allow zero-latency sessions
...
e.g. sessions with disconnected master-out,
or Dummmy (both jack and ardour) with no latency.
2014-10-15 15:49:49 +02:00
76edbdf5dc
make backend selection by product name more explicit
2014-10-14 16:58:11 -04:00
d3a4a92bd5
Containers should not consider the size of invisible items when computing their own bounding boxes.
...
This fixes issues related to the rulers container believing it was taller than it actually is, and possibly other issues also
2014-10-13 22:40:08 -04:00
b945fa69ba
remove default/testing tooltips from the canvas
2014-10-13 13:53:07 -04:00
7263877f06
tweak implementation of Session::audible_frame() to be a little more defensible, and correct problems with record align/playhead position while disconnected from physical outputs
2014-10-12 23:09:35 -04:00
848db8fbd5
fix scanning of VST shell plugins
2014-10-11 22:19:23 +02:00
250ea066ef
revert 8ca546e
- original version was correct (note added)
2014-10-11 15:00:52 +02:00
8525a0b258
add a Dummy Backend Loopback mode:
2014-10-11 14:47:35 +02:00
8ca546ec88
fix LTC generator latency compensation.
2014-10-11 11:15:08 +02:00
fa9780ba67
subtle changes to accomplish two goals (1) playhead should stop where the user pressed stopped (2) captured regions should end where the playhead ends
2014-10-10 13:22:50 -04:00
d1e303247b
ensure registration of all SessionEvent types
2014-10-10 13:22:50 -04:00
446a8b69d9
make output of SessionEventManager::dump_events() a bit more readable
2014-10-10 13:22:50 -04:00
472900f4ff
cleanup unused nested regions:
...
This and two previous commits fixes #5979
2014-10-10 14:12:48 +02:00
5b25dbba03
Properly count nested regions
2014-10-10 14:11:43 +02:00
9df1d1ef2e
re-reference regions during uncombine - #5979
2014-10-10 14:05:49 +02:00
b4cf5e279b
fix dup free in waves/midi:
...
The PortMidi queue just holds a pointer to the midi events.
The same Midi events are free()d during WavesMidiBuffer::clear()
which is called at cycle start for every buffer and in the dtor
of the WavesMidiBuffer.
2014-10-09 09:48:54 +02:00
4af4938c25
fix wavesbackend midi timing
2014-10-09 09:43:53 +02:00
aac3ca5521
initialize some uninitialized vars - closes #5974
2014-10-08 19:16:21 +02:00
8d12ebd972
MSVC - add support for 'HAVE_NEW_LV2'
...
(after updating to the latest versions of serd, sord, sratom and lilv)
2014-10-08 15:11:27 +01:00
50ab3db0ca
When building 'libs/pbd/cpus.cc' (with MSVC) make sure we know what 'PTW32_VERSION' is
2014-10-08 15:11:26 +01:00
2d04ac9796
Add a newly introduced header file to our MSVC project (dummy_audiobackend)
2014-10-08 15:11:25 +01:00
000609901b
add correct copyright statements to all files in Waves backend except those derived from portaudio/portmidi
...
This follows the letter sent from Waves Audio Ltd. to Paul Davis dated February 20th 2014 agreeing to release this code
under the GNU Public License, version 2, with copyright owned by Waves Audio Ltd
2014-10-07 16:17:34 -04:00
118adc286b
fix crashes for plugin using maxBlockLength during latency compute.
2014-10-07 21:48:04 +02:00
ce818efe37
avoid a set of calls to gettext() and/or cousins from global constructor scope
2014-10-07 14:27:12 -04:00
a7da906a79
NOOP, proper label for flat carbon header includes
2014-10-07 16:53:10 +02:00
7bfa25777b
OSX 10.9.5 compile fixes - part one
2014-10-07 14:46:06 +02:00
94e7015c70
64bit windows VSTs
2014-10-05 18:11:11 +02:00
114296d958
fix VST user cache typo: info/blacklist
2014-10-05 02:57:14 +02:00
adefca9dd2
use single newline char in VST info files.
...
windows writes \r\n to non-binary files and the VST
info parser does not handle that case.
2014-10-04 18:01:43 +02:00
29d89f0128
update VST scanner lookup (prepare for moving to BINDIR)
2014-10-04 17:57:05 +02:00
0af091edf3
fix ming32 build&install for asio backend
2014-10-03 00:46:34 +02:00
b376042166
Add UK English translation for libardour
2014-10-02 18:03:19 +01:00
44f71ce599
Text tweaks and typo fixes
2014-10-02 18:03:19 +01:00
8fe3360c35
fix clock_gettime detection
...
fixes compilation with mingw64 gcc-4.9.1
2014-10-02 02:53:35 +02:00
aeda6cbea9
add --with-wavesbackend config option (disabled by default)
2014-10-01 18:28:47 +02:00
3d12a4da82
fix deep obscure problem with loading multiple backends on OS X
...
all backends export a symbol declared as "extern "C" ARDOURBACKEND_API ARDOUR::AudioBackendInfo* descriptor ()".
dlopen'ing the backend apparently pushes the symbol "descriptor" into the single flat global namespace that we use
to be like other unix-like systems. this means that if a backend calls its OWN function named "descriptor", it
is indeterminate which one it will be, since the symbol will refer to the function first loaded by the runtime
linker. If the backend is not the first one discovered, this call to its own "descriptor" function will invoke
the function defined by another backend, even though these are supposed to have local scope only according
to our arguments to dlopen().
This fix doesn't try to fix the linker or namespace - it just makes sure that the WavesAudio backend doesn't
invoke its own descriptor() function, which it never really needed to do anyway.
2014-09-30 22:57:05 -04:00
cd60fd9dfe
untested fix for compiling waves audiobackend on case-sensitive FS with mingw.
2014-10-01 04:02:30 +02:00
9838616679
NOOP, re-indent
2014-10-01 03:25:03 +02:00
32e05fa640
update backends for API change in 8d59afb048
2014-10-01 03:24:54 +02:00
a927b79c26
Implement the new pthread macros (for the Waves audio backend)
2014-09-30 21:00:35 -04:00
3033c1cc54
Re-introduce our pthread macros (after fixing an earlier typo)
...
these are so we can differentiate between 'libpthread' and 'libpthread-win32' (whose implementation is subtlely - though annoyingly! - different)
2014-09-30 21:00:35 -04:00
8d59afb048
copy over current Waves version of their backend, along with minor changes in libs/ardour and libs/backend/jack to fit with API changes
2014-09-30 21:00:34 -04:00
38e975d6b1
tweak backends wscript for cross-compiling with mingw
2014-09-30 21:00:34 -04:00
8e01b411b2
copy over current Waves version of their backend, along with minor changes in libs/ardour and libs/backend/jack to fit with API changes-a
2014-09-30 20:23:45 -04:00
fdf83c620d
use .exe suffix for VST pluin scanner app on windows
2014-10-01 00:12:45 +02:00
5b4c3aa226
win32_pthread is relevant for both: MSVC & MINGW
2014-09-30 19:08:16 +02:00
1bde96be09
there's no random() on window, but no matter
2014-09-30 19:08:16 +02:00
822b5443fe
add missing header include (for snprintf)
2014-09-30 19:08:16 +02:00
f44501504c
partial fix for #5973 (multi-track midi file import)
2014-09-28 20:36:04 +02:00
56f5bcffce
copy plugin-state from template on session creation (amend 3353b48
)
2014-09-28 19:25:40 +02:00
3353b48646
fix templates: copy plugin state
2014-09-28 18:24:08 +02:00
6fbd0a62e4
recursive file copy function
2014-09-28 18:24:08 +02:00
b4438942ca
fix compiler warning from missing default statement in switch
2014-09-27 18:09:22 -04:00
2a53154892
end tooltip timeout and display for relevant leave notify events
2014-09-26 17:06:38 -04:00
df5a188825
further tweaks to canvas tooltip mechanism
2014-09-26 12:24:47 -04:00
bb68d83e43
display and position canvas tooltip window
2014-09-26 11:05:24 -04:00
d0dafc171c
basic design of Canvas item tooltip mechanism.
...
No window yet to actually display the tooltip.
2014-09-25 21:43:15 -04:00
3ec0f367c1
next (final?) part of handling missing MIDI files.
...
If an external-to-session file is missing, consider it a fatal error in session loading.
If an internal-to-session file is missing, just create a new MIDI source with the same path and ID, and use that instead.
2014-09-24 19:04:05 -04:00
186493687b
DummyBackend: symmetric freq sweep: up/down
2014-09-24 18:46:54 +02:00
6dfb8c5c8a
DummyBackend: add sine-sweep generators
2014-09-24 17:24:25 +02:00
86672a5c5c
fix some double promotion
2014-09-24 17:18:20 +02:00
3f9e916fe2
DummyBackend: two more audio-signal generators (useful for waveform check)
2014-09-24 01:26:51 +02:00
b355f01aa5
DummyBackend: MIDI Event Generators
2014-09-24 01:26:51 +02:00
99a484f193
ALSA backend: initial device selection
2014-09-24 01:26:51 +02:00
a72536dbb0
fix typo that selected wrong sample rate for 22050Hz export
2014-09-22 14:31:06 -04:00
2e2390d053
alter the way the border of Canvas::Rectangle is drawn to meet the intent that a single pixel border passes through the corner coordinates
2014-09-22 11:36:04 -04:00
45fd3593eb
Fix finding session templates
...
Session templates are directories: use find_paths_matching_filter() rather
that find_files_matching_filter() to search for them. Fix a tiny comment
typo I spotted along the way too.
2014-09-22 13:21:14 +01:00
5c7d6ae004
add Location::set_skip() to allow toggling of skip-functionality for a given Location
2014-09-19 23:21:31 -04:00
5bdc9a9a23
duplicate all ARDOUR::Location signals so that we have one static signal that identifies the subject location and one member signal that does not
2014-09-19 22:51:27 -04:00
ceff2e3a62
plugin widgets were written to use Internal values, so use that for now
2014-09-18 17:25:11 -05:00
41f13c0109
Fix some inconsistent usage of a Controllables Interface value.
...
This breaks a lot of controls, because they are misusing it as well.
2014-09-18 16:35:03 -05:00
cfc658de04
do not mark session dirty during loading process; sync with loaded locations state using standard method
2014-09-17 12:28:09 -04:00
69bfc841a2
use Config->get_skip_playback() when handling Skip events
2014-09-17 12:27:21 -04:00
dd4d7cf8be
new Config var to control whether skip playback is used or not
2014-09-17 12:26:52 -04:00
7021ac07d8
add IsSkip enum to enums.cc
2014-09-17 12:26:28 -04:00
ebd7bc7447
add new Skip event to SessionEvents
2014-09-17 10:31:33 -04:00
73f2baf5c6
Locations::clear_ranges() leaves punch/loop/session ranges intact if they exist
2014-09-17 09:38:42 -04:00
2e81bab899
add new type of location, with _flags & IsSkip being non-zero
2014-09-16 21:40:12 -04:00
99ac4755af
header file part of initial attempt to push certain kinds of Locations into LocateRoll events on the timeline for skip lists
2014-09-16 21:33:18 -04:00
80c0400cda
initial attempt to push certain kinds of Locations into LocateRoll events on the timeline for skip lists
2014-09-16 21:32:58 -04:00
b592ce3e44
Locations should listen to location changed signals, and emit its own changed() signal
2014-09-16 21:31:19 -04:00
78f55f2e4d
change Location "change" signals of various kinds to be static
2014-09-16 21:30:16 -04:00
9be64f2648
add a focus handling callback so that all button press events on CairoWidgets will cause a focus reset.
2014-09-16 12:42:39 -04:00
b3c78e906c
if a (file) source really cannot be found, differentiate between audio & MIDI.
...
For now, recovering from missing MIDI is a no-can-do situation (because MIDI is inherently data-editable).
2014-09-15 14:09:12 -04:00
9a3cf7a10b
fix up condition where a MIDI filesource is marked empty, not found, and its _path member is not set correctly
2014-09-15 14:09:12 -04:00
596a9247bd
FileSource should not generate its own error message when a file is missing
2014-09-15 14:09:12 -04:00
c96ec968c7
tentative fix for losing (empty) MIDI files. Incomplete because testing shows issues with some workflows
2014-09-15 14:09:12 -04:00
dbc34ab4da
fix compiler warning
2014-09-15 14:09:12 -04:00
076bb0b488
change dummy backend to default to _("Silence").
2014-09-13 22:51:42 +02:00
d8e64103a6
fix CPI window handling:
...
Move control-surface editor-window management to the control surface.
The Preferences-Dialog is not aware of session specific or surface
specific actions and cannot properly manage the window.
2014-09-13 16:59:02 +02:00
c3a5cd487a
Return playhead to last start position when aborting capture
2014-09-13 15:27:30 +01:00
6549fcbd86
Fix spurious 'You cannot put a CD marker at this location' error
...
Fix the spurious error that occurs when loading a session where any marker
(not necessarily a CD marker) is located at 0 on the timeline.
2014-09-13 15:27:30 +01:00
982b95fb47
Be sure to initialise ExportFormatSpecification::_soundcloud_upload
...
Initialise _soundcloud_upload in all constructors of
ExportFormatSpecification.
2014-09-13 15:27:30 +01:00
e5a20e1f9e
Add 2 new source files to our 'gtkmm2ext' project (MSVC)
2014-09-13 09:56:58 +01:00
3da9c3b740
NOOP, remove trailing whitespace
2014-09-13 01:48:10 +02:00
aa83f1a8c7
waveform drawing details:
...
* proper y-pixel alignment (+.5px offset)
* outline: draw dots (not 1px lines)
* shape: round towards peak (use signal, not top/bot)
* honor 2px red selection border
* work-around canvas rect +1 issue
* always draw clipping line towards center
* draw at most one clip-line at either side of 0.
* exact 1px wide zero line
* fix spread calculation for rectified view
2014-09-13 01:48:10 +02:00
e3d063004b
add required visibility macros to Gtkmm2ext::CursorInfo
2014-09-12 14:33:36 -04:00
878797d13e
waveform: really draw 1px lines.
2014-09-12 16:43:20 +02:00
98249a2563
update waveform drawing for zoomed-in, non-overlapping min/max peaks
2014-09-12 16:42:55 +02:00
f3f80900f1
fix crash at session close/exit if a midi-control-surface is used
...
The "real" problem was that MidiControlUI is destroyed
while there are still MIDIControllables around that
still have a signal connection to a Controllable:
controllable->Destroyed(..., MidiControlUI::instance())
If a Contrallable is deleted after the MidiControlUI
event loop is gone, the Destroyed() signal can create odd
situations...
2014-09-11 19:30:33 +02:00
01974b5769
API flush static cairo pattern cache
...
(should probably be cleaned regularly
e.g. meterbridge resize)
2014-09-11 19:30:33 +02:00
56f4e1513e
provide compile-time-enabled/disabled debugging of connections being made to PBD::Signal via PBD::SignalBase::set_debug_connection()
2014-09-11 12:04:14 -04:00
5dd5bb7830
make valgrind output a bit more readable.
2014-09-11 03:04:12 +02:00
bfcd96533c
fix memory leak, changing semantics of PatchManager (needs x-check)
2014-09-11 03:04:12 +02:00
df19c576c7
fix a bunch of memory leaks
2014-09-11 03:04:11 +02:00
c4a7d25b34
properly retain LV2PluginInfo
2014-09-11 03:04:11 +02:00
7449de6e8f
fix/improve/test hotspot file parsing
2014-09-10 19:39:52 -04:00
13cd2110e6
add copyright header comments
2014-09-10 18:50:58 -04:00
90059a9504
move CursorInfo members into public access
2014-09-10 18:38:30 -04:00
c4f7aae7d5
add new (mostly) static class to permit lookup of cursor image hotspots
2014-09-10 16:50:10 -04:00
6f59288f9e
print "Scanning folders for bundled LV2s" only once.
2014-09-10 20:44:17 +02:00
f6766d4a2f
delete route-groups before flushing routes.
2014-09-10 20:43:30 +02:00
2498495523
disable Midi Audition Synth if it cannot be found
...
no repetitive messages.
2014-09-10 16:55:49 +02:00
d383205fe7
better safe than sorry.
2014-09-10 13:11:22 +02:00
b26ecdda63
fix d421602c24
2014-09-10 12:49:21 +02:00
d421602c24
delete session XML object after loading and setting state.
2014-09-10 05:18:09 +02:00
cab09d87b8
free LV2 world after initial scan
2014-09-10 03:31:03 +02:00
a361781e08
plug a major mem hog.
...
(default empty session is now ~140MB RSS, was 280MB)
libXML memory was only free() at exit
2014-09-09 23:53:27 +02:00
e60f03c54c
fix scoomer scroll-wheel max value
2014-09-09 14:35:06 +02:00
2967226317
Add 'libs/pbd/pbd/pthread_utils.h' to our pbd project (msvc)
2014-09-09 12:06:47 +01:00
16b25a3028
Implement the new pthread macros (for the Waves audio backend)
2014-09-09 12:05:14 +01:00
61e0705a94
Re-introduce our pthread macros (after fixing an earlier typo)
...
these are so we can differentiate between 'libpthread' and 'libpthread-win32' (whose implementation is subtlely - though annoyingly! - different)
2014-09-09 12:03:52 +01:00
83b6825bd0
Revert "Add a couple of pthread helper macros"
...
This reverts commit 8d0ec2403f
.
2014-09-09 08:26:26 +01:00
1c6c3514ba
don't start track-resize on scroomer click
2014-09-08 18:43:28 +02:00
b1da9af8de
ALSA|Dummy: ignore port unregistration when engine is stopped
...
When changing Engine parameters, ardour first stops
the engine and only later when re-etablishing ports
unregisters/re-registers them.
ALSA: silently ignore port unregs and silently accept registrations
Dummy: print a PBD::info message,
2014-09-08 01:25:56 +02:00
dc318e6e74
ALSA|Dummy Backend: do as jack does:
...
when the backend is closed, unregister all ports.
2014-09-07 22:50:57 +02:00
330f5fdf2e
fix midi audition port-connect warning
2014-09-07 22:21:12 +02:00
a780e70f2a
add Session::record_location()
2014-09-07 11:33:47 -04:00
9ad3feaba0
rename system and user config files with product-neutral names
2014-09-07 10:20:29 -04:00
94adde7ebb
add Canvas::Ruler::set_metric() to allow ruler metrics to be changed dynamically
2014-09-07 10:19:42 -04:00
1a6136e1e3
change Metric element of a Canvas::Ruler item into a pointer internally
2014-09-07 10:19:31 -04:00
d68275cefc
one less annoying compiler warning.
2014-09-06 21:18:08 +02:00
404a77adb8
get installdir for libardouralsautil correct
2014-09-06 14:42:25 -04:00
a686374b9d
check for _port_handle == null throughout Port:: methods
2014-09-06 12:36:57 -04:00
d63a4edfbf
pass-though PixFader tweaks API for scroll events
2014-09-06 12:46:03 +02:00
6af935a3b8
updated .po files
2014-09-04 22:24:41 -04:00
48a851011b
add pixfader tweaks API:
...
* change API to hide unity/default value line
* allow to override vertical scroll [1]
* allow changing button event forwarding [2]
[1] override scrolling in track-headers
[2] dbl-click is needed for BarControllers -> switch to SpinBtn
but a plain Slider on a track-header should not forward
these events to the TAV (they may trigger name-edit)
2014-09-05 02:24:19 +02:00
6408d90258
fix waf thinko in backends wscript
2014-09-03 18:44:34 -04:00
f2c0b2e318
revert pixfader to sane state (reverts parts of bb70d426
)
2014-09-03 20:48:20 +02:00
bb70d426ba
bring back old pixfader outline radius to demonstrate its issues
2014-09-03 15:35:11 +02:00
73357c1923
revert pixfader radius to default
2014-09-03 15:09:54 +02:00
07a651d2ec
release shared route pointer kept by InternalSend when dropping refs.
...
fixes "SessionHandleRef exists across session deletion"
when using AuxSends
2014-09-03 05:20:28 +02:00
f684cc24ec
allow to set gtk style for BarController's pixfader.
2014-09-03 02:40:27 +02:00
1cd366b606
pixfader bg has reverse gradient from fg
2014-09-02 15:58:55 -05:00
9ecdb765aa
don't show 'unity-line' (default value) for barcontrollers
2014-09-02 16:05:54 +02:00
3b9b65879a
Barcontroller: no double expose when text chages
2014-09-02 16:05:21 +02:00
ecf5d5f137
tweak pixfader:
...
* update reserve so that round corners don't overlap
* draw complete 1px outline
* add API to hide/show the unity line
* don't show unity line at either end
* allow to shrink when the font-scaling changes
2014-09-02 16:00:24 +02:00
efb03f4596
unify BarController with Slider/Pixfader.
2014-09-02 05:14:19 +02:00
41ccf6a806
clean up pixfader API, prepare for merge w/BarController
2014-09-02 05:14:14 +02:00
3bfe91c010
remove cruft from SliderController
2014-09-02 05:14:06 +02:00
9f0caacc5c
rework pixfader:
...
* re-introduce static pattern cache
(cairo's cache is not nearly large enough for A3 + plugins)
* only use cairo_clip on rectangles (not arbitrary paths
-> major performance boost
* re-add fader pixel reserve
* fix mouse + scroll interaction
* fix unity line display (1px wider, brighten by 150%)
* cache text size
* fix various other issues and consistent whitespace
This reverts large parts of commit d439e93b1e
.
2014-09-01 22:02:51 +02:00
158037bba2
Match canvas outline to rectangle
...
It looks like we're currently [consistently] off by 1px
everywhere. The width-1 is compensated by
TimeAxisViewItem::RIGHT_EDGE_SHIFT = 1
2014-09-01 18:05:09 +02:00
34c1465cf9
Fix crash when changing automation mode for MIDI track control automation.
...
Also some work towards tolerating automation controls with no automation list,
towards actually doing something for these cases, though not required just to
fix this crash (MidiTrack::set_parameter_automation_state() avoids those
paths).
2014-08-31 18:57:22 -04:00
885f1c71ec
Remove unused variables (fix warnings).
2014-08-31 17:54:16 -04:00
c95c221493
Fix mismatched initialisation order.
2014-08-31 17:54:16 -04:00
154621978a
track-header fader tweaks:
...
* align height to button-height.
* align width to label text-entry
* increase min width
2014-08-31 21:32:22 +02:00
758c988e51
shadow-less Frame: explicitly draw background colored border.
2014-08-31 20:07:17 +02:00
50c3177a5e
remove frame from barcontroller
2014-08-31 19:36:41 +02:00
db34d9a556
proper round corners on focused TextEntry
...
IFF [xy]thickness is set > 2 for given Entry.
It seems gtk draws a base-color rectangle on
top, after clearlooks_draw_entry() is called.
This fills the complete area and voids previous
rounded rectangles in clearlooks_draw_entry().
setting [xy]thickness decreases the size of the
base rectangle.
2014-08-31 12:46:45 +02:00
7d3f0bfd75
prepare for clang static analysis of RT-functions:
...
see: https://github.com/fundamental/stoat
eventually more functions should be annotated, and
a common header file should be used to
#define REALTIME __attribute__((annotate("realtime")))
2014-08-31 07:50:17 +02:00
ca97569c55
disconnect pixfader style-change signal in dtor (amend 5a688b672
)
2014-08-30 20:58:03 +02:00
5a688b672c
pixfader: use parent's background color
2014-08-30 04:19:42 +02:00
f5533213c0
fix some compiler warnings
2014-08-30 02:26:36 +02:00
585fa45b62
fix cairo widget background
2014-08-30 01:43:10 +02:00
40c3e4122c
try a different method of text display on automation bars
2014-08-29 16:35:20 -05:00
b0477f7f1e
fix plugin bypass button action
2014-08-28 15:29:18 -05:00
3f297f7dab
Fix ArdourButton event sequence.
...
Always give ArdourButton a chance to handle Press or Release events if you override them.
This allows ArdourButtons to do the "Pressed" animation
And it now correctly eats the event so button clicks don't select the channelstrip.
2014-08-28 10:31:57 -05:00
670f55f5e4
Add an extra folder to get searched (on Windows only) when looking for config files.
...
This is a preliminary test to find out if 'All Users' would be a better place for our (writable) config files, as opposed to the user's personal 'AppData' folder (which we used in Mixbus2). N.B. this should not effect any previous operations on Windows or non-Windows platforms.
2014-08-28 08:08:43 +01:00
65715dd298
Make sure all our VC projects agree that the product is called 'Mixbus3' (as opposed to just 'Mixbus')
...
It'd be nice if we could use 'ARDOUR::config_dir_name' for this purpose (or perhaps 'PROGRAM_VERSION'). However, neither is implemented widely enough at present to make this practical. Keep an eye on them though, as possible future strategies.
2014-08-28 07:57:20 +01:00
d439e93b1e
Standardize drawing of PixFader and BarController; implement flat_buttons and prelight.
...
Prepare for using Controllable interfaces, instead of passing in Adjustments.
ToDo: reimplement image caching in a standardized way across widgets
2014-08-27 11:58:09 -05:00
e7a15027e8
refactor flat_buttons into cairowidget, and add a canvas-like convenience function for setting cairo color with a Gtk::Color
2014-08-27 10:55:01 -05:00
a7226133a9
refactor _grabbed into cairo_widget
2014-08-22 11:49:59 -05:00
nick_m
7099f0ec4e
Add backwards compatibility for instant.xml changes.
2014-08-14 03:19:40 +10:00
nick_m
34bf7457c6
Move ExportProfile xml from Session instant.xml to session file.
2014-08-14 02:52:42 +10:00
126d6d3aae
fix new backends wscript to work correctly in the Ardour case
2014-08-08 11:00:30 -04:00
16e37d975f
use some structured code to decide which backends to build (should have cherry picked from waves' code but ...)
2014-08-08 10:57:20 -04:00
1873bcfa9d
More fixes for range-based automation editing.
...
-Remove redundant start_grab calls.
-Show gain curves in Range mode, so you can see the curves you are selecting
2014-08-06 14:43:40 -05:00
16ca4e0f9a
Initial steps towards usable range-based automation editing.
...
TODO: needs undo. only works in top quarter of automation lane. selection model feels weird sometimes. needs to show gain curve when you are using Range tool
2014-08-05 15:42:06 -05:00
45afed5e9a
Modify our VC project files to work with msvc32-fixup.pl
2014-08-04 09:02:17 +01:00
f296389fe0
Enforce mixer strip widths, more case fixes, and minor theme changes
2014-08-01 15:44:42 -05:00
b128271f29
consistently use mixed-case labels
2014-08-01 14:31:18 -05:00
b75b88a1eb
Use text to specify combo box padding for better font/display tolerance.
...
Consistent mixer strip button height.
The latter works by setting all the button size request heights to the
calculated height of the alphabet. Thus, all buttons of the same class will be
the same height regardless of their actual text.
2014-07-30 18:30:42 -04:00
21ea94c000
grouped faders should have relative gain by default
2014-07-28 16:20:24 -05:00
ed07c53210
clean up cruft in some config variables
2014-07-28 15:55:20 -05:00
df2a8fccc7
disallow selection of the fader and meter processor entries
2014-07-28 10:08:26 -05:00
966ed85005
Add provision for 'PROGRAM_VERSION' (MSVC libardour project)
2014-07-27 11:37:04 +01:00
59822e8dd2
Minor change to 'pbd/controllable.h'
...
(in MSVC, 'min' & 'max' are not in namespace std)
2014-07-27 11:28:23 +01:00
576f39d6a0
Add the MSVC project file for building libs/surfaces/osc
2014-07-27 11:26:41 +01:00
e85ff4dad2
Cut and Copy should remember the white space at the end of a range.
...
This will be used when you paste with Ripple; it maintains the whitespace that you chose in the selection.
Also fix default setting of Dim contol by storing the default(normal) value for MPControl Controllables.
2014-07-23 14:36:21 -05:00
7984cd2321
Changes needed for building surfaces/osc (control surface protocol) with MSVC
...
(for testing on the non-Windows platforms)
2014-07-22 22:19:46 +01:00
fdaa6a151a
3 monitor tweaks for the_CLA. shift+click to default, and new preset vals
2014-07-22 16:05:51 -05:00
5424119b55
Merge branch 'waveview_hacks' of https://github.com/nmains/ardour into cairocanvas
2014-07-18 10:46:22 -04:00
5044feec95
more canvas debugging for current item tracing
2014-07-18 10:43:52 -04:00
b2b736d596
tweaks for the monitor section. refactoring of some buttons, using new ArdourKnob instead of VolumeController. New ArdourDisplay shows a controllables user value, and provides support for preset values (hardcoded at present). Further refactoring to come, so that ArdourWidgets are derived from a common class. Controllable now has more responsibility for scaling between internal, user, and interface (knob percent) values. This also needs more refactoring and might have some unintended consequences. tested with audio and nothing seems amiss, yet.
2014-07-18 08:47:45 -05:00
ac9219a3c8
LV2: don't leave active plugins deactivated after latency-compute-run
2014-07-16 17:08:42 +02:00
692f69ba14
parameterize the version number used to define the config directory name
2014-07-16 08:15:18 -04:00
67788b7136
monitor knobs tweaked to better match the theme of other buttons
2014-07-15 14:58:43 -05:00
928881b24a
Update vcproj files for changed LILV config define.
2014-07-15 15:50:12 -04:00
9869e2704a
Support saving LV2 presets multiple times ( fix #0005949 ).
2014-07-15 15:49:47 -04:00
fe9f2b15b1
Support midnam files with a channel (not patch) NoteNameList.
2014-07-15 15:18:18 -04:00
nick_m
d3408844be
Render waveview components onto alpha masks to simplify drawing.
...
Reduce user panic by removing ! from missing file dialog title.
Use justify left in missing file dialog.
2014-07-15 21:59:22 +10:00
849d80bfcc
Group the Rec and Monitor buttons together. Group the Solo Isolate and Lock buttons together. And add a method to show/hide each group in the Preferences
2014-07-14 10:08:55 -05:00
4af088c251
DummyBackend: add Uniform White Noise Generator.
2014-07-11 18:05:59 +02:00
12025d4ffa
possible fix for win SystemExec::wait()
...
if it does not help, use CREATE_NO_WINDOW and/or peek/pump messages :(
2014-07-11 17:03:55 +02:00
c83b7ebc3c
fatal error if vfork-exec-wrapper cannot be found (on unix systems).
2014-07-11 16:43:50 +02:00
6990c31ed5
Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvas
2014-07-11 09:59:59 -04:00
94e0841625
catch null vfork_exec_wrapper before it is too late
2014-07-11 09:58:45 -04:00
15de7aa433
Make our 'libs/timecode' project dependent on libpbd
...
This is needed because one of its source modules now references 'rint()' (which isn't available in MSVC, although we already simulate it in libbd).
2014-07-11 12:56:18 +01:00
c81604bc18
Add newly introduced (MD5) sources to our MSVC project (also, add visibility stuff to the new MD5 class)
2014-07-11 12:56:17 +01:00
8859ebe56e
add Gtkmm2ext::Keyboard::reset_bindings()
2014-07-10 11:04:04 -04:00
0622a0cc30
add libardour infrastructure for "fade range" edit operation
2014-07-10 08:16:55 -04:00
94c8b672c4
do not call basename_nosuffix() before using matching_unsuffixed_filename_exists_in() because the latter does that call itself.
...
As the code used to be, if we are testing for a candidate filename of aaa.bbb.ccc, the call strips .ccc and matching_... strips .bbb
resulting in a match with aaa, which is not intended at all.
2014-07-10 08:16:27 -04:00
b9c53ea395
add std::string variant of set_size_request_to_display_given_string()
2014-07-09 16:48:36 -04:00
9f4a00fa89
add mixbus profile which removes the tearoffs
2014-07-09 15:12:05 -05:00
cfca056f19
make sure that copy constructors and operator= for ControlList pass along the _interpolation value
2014-07-09 14:30:38 -04:00
9e8b50f075
make AutomationList::operator==() private and abort() as its core, because it should never be called/used.
...
Also make AutomationList::operator=() use ControlList::operator=() rather than try to reimplement it
2014-07-09 14:30:38 -04:00
9bfe716239
remove debug output
2014-07-09 12:06:36 -04:00
3fae5f15af
fix crash initiated by never configuring track write sources when reloading a session, caused by earlier commits to avoid unnecessary write source resets
2014-07-09 12:03:22 -04:00
f2699194d3
do not return auditioner as part of Session::get_tracks()
2014-07-09 12:02:22 -04:00
73d98df3d2
add Session::get_tracks()
2014-07-09 11:29:26 -04:00
1fd4d40dbb
add mutex to prevent concurrent session state saves.
...
Why wasn't this done 10 years ago?
2014-07-09 10:18:28 -04:00
7364ca213a
do not attempt to save undo history if it is empty, and do not do any part of history save if we're not going to write a new file
2014-07-09 10:10:44 -04:00
0e5d86a825
don't save state when removing sources during session loading (though this should no longer happen)
2014-07-09 10:09:49 -04:00
b37e3229f7
only reset AudioDiskstream write sources if the I/O configuration changed. Do not do this for connection changes etc.
2014-07-09 10:09:14 -04:00
2d63489196
Dummy Backend: optimize random-number implementation
2014-07-08 18:40:51 +02:00
941701574e
fix and optimize DummyBackend generators
...
* use Wavetable for sine
* lock generator (concurrency issue)
* always initialize variables
2014-07-08 18:40:51 +02:00
b7f918bdb7
when merging external source files into session folder, if a collision occurs, use the original file suffix in conjunction with md5 hash
2014-07-08 12:25:36 -04:00
66684c6690
Add PBD::get_suffix() for ripping file suffixes from paths
2014-07-08 12:24:56 -04:00
fcabd5d8ee
initial implementation of "bring all media into session folder". Incomplete but basically functional for audio files
2014-07-08 00:53:13 -04:00
d3e3f5f005
add operator-= variants for PBD::Searchpath
2014-07-08 00:53:13 -04:00
f4a84a0272
add MD5 implementation to wscript
2014-07-08 00:53:13 -04:00
6b9ef29597
add cleaned up MD5 C++ implementation for general use
2014-07-08 00:53:13 -04:00
185f06e7f7
add signal generator modules to Dummy Backend.
2014-07-07 16:31:58 +02:00
a1bc2cb10e
fix potential crash if certain Canvas methods are used before its window is realized
2014-07-07 08:00:20 -04:00
69a92e67f0
Add Canvas::re_enter() which picks the current item again based on mouse pointer position and generates an enter event for it
2014-07-07 07:53:17 -04:00
4b0933938f
optimize SystemExec::output_interposer()
2014-07-06 23:44:48 +02:00
cabed6ffce
fix timecode > 2^31 samples calculation on 32bit systems
2014-07-06 22:44:22 +02:00
6d97d72999
remove some cruft with previous commits. remove option link-region-and-track-selection since they are now exclusive, and rename select-all-regions to select-all-objects to match the implementation
2014-07-06 14:02:13 -05:00
7d13a49761
remove cruft.
...
periodic save is done with maybe_write_autosave()
2014-07-06 14:43:07 +02:00
36135baaac
change reasonable-synth to be sample accurate (note on/off)
...
at expense of slightly increased CPU load.
2014-07-06 13:24:53 +02:00
c03034b7d6
Make $PATH search in SystemExec actually work
...
Make searching of $PATH work when a SystemExec is created from a
command-line, by making sure that argv[0] is set to the discovered path.
2014-07-05 21:47:49 +01:00
5edca6c96e
Report an error when post-export hook fails.
2014-07-05 21:47:49 +01:00
c9b0f0fcb7
debug info to trace down "cannot rename temp session file" errors
...
..but actually, the real error may be concurrent
calls to Session::save_state()
2014-07-05 20:53:22 +02:00
8fa0f7bc0b
disable latency-compensation preparations for now
...
Don't add delaylines to tracks by default just yet,
currently only sends are aligned with delaylines
2014-07-04 13:57:35 +02:00
08b1a9d520
add ActionManager::enable_accelerators(), which takes all known Actions and registers them via the UIManager as accelerators.
...
This makes them available for use with key bindings/shortcuts/accelerators even if they have no proxy widget
2014-07-04 07:48:41 -04:00
043b76569d
fix the naming and behavior of always-play-range to match the button, which is follow-edits. when you select a range, the playhead should jump to the start of the range and begin to play the selection. BUT (unlike previous implementation) if the user wants to relocate the playhead, then that should be allowed. The user should always remain in charge of the playhead location. NOTE: your previous config setting will be invalidated. You must re-save a session to overwrite with the new config variable
2014-07-03 12:56:33 -05:00
53a5f5d8ca
actually do something in WaveView::region_resized() which is called whenever the region is resized; implement WaveView::set_region_start() which could be used by an xfade editor etc.
2014-07-03 10:00:12 -04:00
a1c8e67e50
add a method to cancel a pending play_range. this is needed when we are modifying the range with keyboard commands.
2014-07-02 17:35:38 -05:00
007664c3db
unique filenames across all searched folders
2014-07-02 23:36:06 +02:00
190542c1d0
splice mode is undefined, undocumented, and buggy. ripple does most of what we want. remove splice for now. leave code because it may be revived later
2014-07-01 16:43:00 -05:00
3f112f17c0
remove debug output
2014-07-01 15:11:09 -04:00
0a87bbc37b
add partial support for mute automation (playback does not work, data is not recorded in the session)
2014-07-01 14:37:05 -04:00
e5e12acc56
Merge branch 'ripple-mode-cc' into cairocanvas
...
Fix up merge conflicts in
gtk2_ardour/editor_mouse.cc
gtk2_ardour/editor_ops.cc
Also fix up compile errors.
2014-07-01 19:10:47 +01:00
23e7cf1019
merge with master.
...
Manually resolved conflicts in import.cc and session.cc
2014-07-01 09:46:18 -04:00
d790881a84
remove cruft
2014-06-30 22:58:09 +02:00
0ec4784c2b
change default take-name
2014-06-30 22:58:08 +02:00
d816c225a4
more extensive canvas debug message for canvas-enter-leave tracing
2014-06-30 16:32:01 -04:00
79b9a044b8
add event-insensitivity to the list of conditions that causes a container to NOT add its children to the list of items-at-point
2014-06-30 16:31:31 -04:00
bae86a2d90
Disallow empty names for Groups, automatically enumerate them
2014-06-30 18:33:05 +02:00
4eb565e0a9
verbose cursor text is always outlined
2014-06-30 10:39:41 -04:00
5974f4730b
allow Canvas::Text to have outline drawn in a contrasting color (based on actual color)
2014-06-30 10:39:26 -04:00
471570705d
move contrasting_text_color() into ArdourCanvas
2014-06-30 10:38:45 -04:00
33339090c3
invisible items/containers should not add their children to "items-at-point"
2014-06-30 08:32:26 -04:00
cf075743e4
additional DEBUG_TRACE message for canvas current item selection
2014-06-30 08:32:26 -04:00
8b216111da
clean up after monitoring-section on session close
2014-06-30 04:04:35 +02:00
038d292c3f
fix issue with track-deletion when the monitoring section is used.
2014-06-30 03:31:58 +02:00
c1ae35242b
update ARD - allow to release it as standalone tool.
...
see https://github.com/x42/alsa_request_device
2014-06-29 21:19:04 +02:00
8df35b35ba
allow to load/save default session-properties
2014-06-29 16:11:46 +02:00
cef26a4e1e
Change some declarations from 'struct' to 'class' (and vice-versa)
2014-06-29 13:56:41 +01:00
4a7eb62bf8
use state Session::StateProtector
2014-06-28 22:02:20 +02:00
ecd11253c1
add Session::StateProtector
...
temp. disable save during batch updates, save once at
the end.
2014-06-28 22:02:20 +02:00
c0c68dbf4d
consolidate session_dirs: use Searchpath instead of custom code
2014-06-28 22:02:20 +02:00
02e38bab16
search-path: filter out duplicates
...
Note: this does not yet take care of filtering dups
when directly combining two search-paths.
2014-06-28 22:02:20 +02:00
dcca72dabd
Use 'GStatBuf' in preference to 'struct stat' (which isn't necessarily the same thing)
2014-06-28 13:33:28 +01:00
22ce7c0762
Add (newly introduced) sources to our MSVC projects
2014-06-28 11:56:19 +01:00
ef78ad0d83
Remove (no longer needed) sources from our MSVC projects
2014-06-28 11:48:08 +01:00
c2dcd7eacd
slightly increase size of a Canvas::PolyItem, to avoid left-over pixels when dragging (as well as other general incorrectness
2014-06-27 10:30:09 -04:00
a0cb2f95f0
if CANVAS_DEBUG is defined, then the env variable CANVAS_HARLEQUIN_DEBUGGING will turn on drawing the expose areas for canvas render debugging
2014-06-27 10:27:04 -04:00
6cc673f0a6
in Canvas::window_to_canvas(), if either x or y coordinate is less than zero, search for the scroll group on the relevant edge.
...
If we don't do this then we find no scroll group covering the event coordinate, and the translation for scroll fails to be applied
2014-06-27 10:19:21 -04:00
3accf1d2af
new API for TrackingText and similar items
2014-06-26 15:10:24 -04:00
ae4c4c8f90
add tracking_text.cc to canvas wscript
2014-06-26 15:10:24 -04:00
f5d62b1486
new TrackingText canvas item, to resolve conceptual issues with the Editor::VerboseCursor
2014-06-26 15:10:24 -04:00
789cf92a23
bump take-name after every recording
2014-06-26 19:16:20 +02:00
a74d7bd232
option to use track-number and take-name as part of file-name
2014-06-26 19:16:07 +02:00
b067a185f0
implement track numbering
2014-06-26 19:15:43 +02:00
7cb6e9065a
allow to set custom file name for each diststream
2014-06-26 19:15:39 +02:00
b90d7a01fa
consolidate SignalOrderRouteSorter
2014-06-25 21:47:54 +02:00
1bd4e448de
namespace libardour utils
2014-06-25 21:47:54 +02:00
4da2fadb9e
fix LTC slave delta formatting (long long)
2014-06-25 21:47:54 +02:00
3d0e36f579
Add unit tests for PBD::clear_directory and PBD::remove_directory
2014-06-25 12:40:11 -04:00
2ef5cefa6b
Rename internal class to stop the wrong destructor from being called
2014-06-25 12:40:11 -04:00
7262e16216
Add a PBD::TextReceiver in pbd testrunner
2014-06-25 12:40:11 -04:00
24c40c0e88
Add simple test for PBD::find_files_matching_pattern
...
This helped fix a silly cut and paste error in pbd/file_utils.cc so
might as well included it.
2014-06-25 12:40:11 -04:00
31bceb7570
Use PBD::FdFileDescriptor in PBD::copy_file
2014-06-25 12:40:11 -04:00
8da304be09
Fix PBD::copy_file so it works with non-ASCII filenames on windows
2014-06-25 12:40:11 -04:00
4ced10bfe5
Add test utility function to PBD tests to return some utf-8 strings
...
This is currently unused
2014-06-25 12:40:11 -04:00
53c959ad8f
Add a test for PBD::copy_file using test files with utf-8 encoded filenames
2014-06-25 12:40:11 -04:00
de4fc4843b
Fix PBD::copy_files so that it uses O_BINARY on windows and doesn't add line endings to copied files
2014-06-25 12:40:11 -04:00
3000399ce1
Use PLATFORM_WINDOWS define instead of WIN32 in PBD::FileManager
2014-06-25 12:40:11 -04:00
7bf392060e
Call PBD::init and PBD::cleanup in pbd test executable
2014-06-25 12:40:11 -04:00
7338c4e242
Add test for PBD::copy_file
...
From this I can see that PBD::copy_file is not working correctly on windows
as it is adding windows style line endings. Adding O_BINARY to ::open flags
would fix it, but perhaps there is a better way...
2014-06-25 12:40:11 -04:00
94d8dfa256
Add utility function to test lib to create a test directory
...
There is an identical function in libardour test support lib so we
should probably find a better place to put this at some point
2014-06-25 12:40:11 -04:00
3b1a98f0ec
Change PBD::get_files and PBD::get_paths to take a Searchpath instead of directory path
...
Both these functions use the internal function run_functor_for_paths
which takes a Searchpath so this avoids a temporary variable in cases
where a Searchpath is passed directly.
The usage is the same as the compiler will generate a temporary Searchpath
from a string(directory path) if necessary.
2014-06-25 12:40:11 -04:00
6d0cce528e
Add/Update docs in pbd/file_utils.h
2014-06-25 12:40:11 -04:00
851db83fc4
Use run_functor_for_paths in PBD::get_paths
2014-06-25 12:40:10 -04:00
04434f2b88
Rename PBD::get_files_in_directory to just PBD::get_files, change parameter order and fix docs
2014-06-25 12:40:10 -04:00
84d190b7cc
Rename PBD::get_directory_contents to PBD::get_paths
...
shorter name and change order of parameters to match other functions
2014-06-25 12:40:10 -04:00
26ec4038af
Use run_functor_for_paths in PBD::find_files_matching_pattern
2014-06-25 12:40:10 -04:00
a7ce765b0b
Fix finding of bundled LV2 plugins
2014-06-25 12:40:10 -04:00
24599c552d
Add function PBD::find_paths_matching_filter
2014-06-25 12:40:10 -04:00
54c0a0144c
Use run_functor_for_paths in PBD::find_files_matching_filter
2014-06-25 12:40:10 -04:00
e7141d2b80
Add function to file_utils intended to be used internally
2014-06-25 12:40:10 -04:00
ab6837665f
Add some debug output in file_utils.cc
2014-06-25 12:40:10 -04:00
e6c4b0e9e4
Remove reference to strtok_r now that it isn't used
2014-06-25 12:40:10 -04:00
a226068959
Change formatting of DEBUG_TRACE calls to match style guide
2014-06-25 12:40:10 -04:00
cb3a604936
Move functions in pbd/clear_dir.h/cc into pbd/file_utils.h/cc
2014-06-25 12:40:10 -04:00
257897392a
Add remove_directory_internal function and use it in PBD::clear_directory and PBD::remove_directory
2014-06-25 12:40:10 -04:00
64856a5862
Reimplement PBD::clear_dir using PBD::get_directory_contents
2014-06-25 12:40:10 -04:00
cd12698b9c
Rename PBD::find_file_in_search_path to just PBD::find_file
...
saves a bit of typing and not necessary if you look at how it is used.
2014-06-25 12:40:10 -04:00
8d0cba3384
Use PBD::find_files_matching_pattern instead of other variations
2014-06-25 12:40:10 -04:00
36fd67ab72
Add a variation of PBD::find_files_matching_pattern for convenience
2014-06-25 12:40:10 -04:00
077c09b105
Add new function PBD::find_files_matching_pattern
...
This new function is intended to replace the three existing
PBD::find_matching_files_* functions.
The order of parameters matches find_files_matching_regex and
find_files_matching_filter
2014-06-25 12:40:10 -04:00
d9a7d419b2
Change PBD::find_files_matching_regex and PBD::find_files_matching_filter to take a Searchpath
2014-06-25 12:40:10 -04:00
613162df6b
Reimplement PBD::find_files_matching_filter using SearchPath and get_directory_contents
2014-06-25 12:40:10 -04:00
56337eade4
Remove limit parameter from PBD::find_files_matching_regex
...
This limit was not used or documented. The same functionality can be
performed when iterating through the results.
2014-06-25 12:40:10 -04:00
0189ad7e29
Remove parameters from PBD::find_files_matching_regex
...
The only users of this API always used the same options so just remove
them.
2014-06-25 12:40:09 -04:00
769ee5c1f2
Change PBD::get_files_in_directory to return full paths in result
...
get_files_in_directory uses get_directory_contents internally now
2014-06-25 12:40:09 -04:00
d1dd5d3ee7
Add PBD::get_directory_contents to pbd/file_utils.h
2014-06-25 12:40:09 -04:00
3f776ce7d9
fix incorrect cut-n-paste across synergy
2014-06-25 12:30:57 -04:00
9b7b5fc9bc
wscript fix for wavesaudio backend - use correct name for CoreM[iI][dD][iI] framework on Lion and other versions
2014-06-25 08:29:23 -04:00
663f9827f9
last piece of scroll-wheel checkin, oops
2014-06-24 10:46:53 -05:00