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