Commit Graph

16816 Commits

Author SHA1 Message Date
fe672c827c show zero line when a DC offset moves waveform so that it doesn't intersect with the zero line (from Nimal Ratnayake <nimalr@pdn.ac.lk>) 2015-06-24 14:12:13 -04:00
2ea5962af2 rationalize save/restore of control surface "feedback" property 2015-06-24 13:46:07 -04:00
2b81d4d0fe do not draw waveform outline at x-positions where the waveform "spread" would not leave at least 1 pixel between the two outline pixels.
Plus a better comment.
2015-06-23 17:12:52 -04:00
e9224a58d1 several changes, major and minor, to improve threaded waveview rendering 2015-06-23 14:26:26 -04:00
2cb511e25a update video import flags, relax GOP size. 2015-06-23 17:11:45 +02:00
97c9722236 silence clang int/float/double -Wabsolute-value 2015-06-23 15:46:00 +02:00
dece3c20ca create sortable, linear list for cache clearing on demand, rather than trying to maintain it in parallel with the cache map 2015-06-23 08:42:55 -04:00
b808ca897b textual tweak 2015-06-23 08:25:38 -04:00
9b75cdb26d provide control over waveform image cache size from GUI 2015-06-23 08:18:11 -04:00
424f6539b4 change location for initialization of static WaveView image cache, and provide a visible method to set the cache flush threshold 2015-06-23 08:17:48 -04:00
239052759f stop endless loop in WaveViewCache::cache_flush()
Still need to figure out how this could ever happen. It requires an image (shared pointer) to
be in the linear cache image list but not in the map
2015-06-22 22:00:45 -04:00
32924aa7b8 When using the Editor's Shuttle control, stop any shuttling by calling Session::request_stop()
Previously we were using a convoluted scheme of firstly setting the transport speed to 1.0, then later re-setting it to 0.0. On Windows this was having some strange side-effects (such as leaving the transport in Play mode and/or resetting the timeline to zero timecode). Hopefully this change will also work for the other platforms.
2015-06-22 16:08:46 +01:00
974e5dcc0c Add option to mackie control profile editor to remove binding (fixes #6301) 2015-06-21 12:42:48 -04:00
e5ea600ba0 Remove "" around CATALOG number in .cue file
cue2ddp definitely wants the bar code number *not* enclosed in quotes in
.cue files. Leave the quotes in .toc files: cdrdao definitely does need
these.
2015-06-21 14:48:33 +01:00
8ad4f89cf8 Amend button caption in 'Remove time' dialogue
I missed that it still said 'Cut'.
2015-06-21 14:48:33 +01:00
b66cc472e8 also log session-load error to stderr.
If the session fails to load, the editor and error-log window will
never be visible.
2015-06-19 22:54:22 +02:00
10203b5517 two more corrections to waveform zooming changes 2015-06-19 08:32:05 -04:00
3cf8cb3c3e fix call to consolidate image cache to use the information held in the request 2015-06-19 08:29:05 -04:00
9f0012aaaa various tweaks to the height/sizing of audioregion views and their waveforms 2015-06-19 08:15:25 -04:00
8491a015e3 stop pixel jitter when changing waveview height.
To avoid pixel jitter, the top and bottom of each line in the waveview must be computed together in a single computation,
rather than independently.

Also, remove various height corrections and cairo translations that are not necessary or relevant anymore. A subsequent
commit for the GUI will pick up on this work to get the appearance completely correct
2015-06-19 08:14:02 -04:00
1043357cc9 attempt to correctly respond to changes in _amplitude_above_axis in ArdourCanvas::WaveView 2015-06-19 08:10:45 -04:00
2ec9151170 fix compiler const-cast warning 2015-06-19 08:10:35 -04:00
a1932c7feb Correctly re-start an iteration (if we delete one of the items being iterated) 2015-06-19 12:55:38 +01:00
14f3d8005e Rename 'insert_time_dialog.cc/.h' (in our MSVC project) 2015-06-18 09:22:34 +01:00
e9bf6deb26 update system-wide config 2015-06-17 21:08:28 +02:00
b6b2253da1 skip username metadata when dumping default cfg 2015-06-17 21:08:28 +02:00
c41d51e80c Accept changes to Insert/Remove time clocks without <Enter>
Pass 'true' to accept_on_focus_out of AudioClock, so that editing the
insert/remove time clock and then clicking elsewhere without hitting
<Enter> first doesn't mysteriously set the time back to 00:00:00.000.
2015-06-17 17:15:21 +01:00
3cb2f25d89 Add 'accept on focus out' parameter (default false) to AudioClock
If this parameter is passed as 'true', then edits to the clock will be
accepted when the user clicks away from the clock, rather than
unconditionally discarded as hitherto.
2015-06-17 17:15:21 +01:00
b56bb944f6 Rename 'Cut time' to 'Remove time'
'Cut time' implies that the cut timeline items might end up on the
clipboard to be pasted somewhere: this isn't the case at present, so rename
the functions, class, &c. to say 'remove' rather than 'cut'.

Rename insert_time_dialog.{cc|h} to insert_remove_time_dialog while we're
at it.
2015-06-17 17:15:21 +01:00
721608aef3 Update 'Cut time' to match 'Insert time', and fix cut-time moving range markers
Add options to move glued & locked markers to Editor::cut_time(), in line
with the insert_time() implementation.

Fix up the order in which operations apply to range marker start & end
points, to avoid problems when a range which lies after the cut point is
shorter than the length of the cut.
2015-06-17 17:15:21 +01:00
e234e98f13 Use 'Insert time' dialogue for 'Cut time' too. 2015-06-17 17:15:21 +01:00
0d21c15375 Make 'Insert time' dialogue do for 'Cut time' too
Add a bool cut parameter to InsertTimeDialog's constructor, so it can
do double duty as 'Cut time'. The class probably ought to be renamed too.
2015-06-17 17:15:21 +01:00
292f704b30 Insert time: don't unlock markers we're not going to move anyway
Move checking for locked markers in Editor::insert_time() so it doesn't
happen if we're going to skip the marker because it's glued to musical
time.
2015-06-17 17:15:21 +01:00
34e1e00f8b Insert time: fix moving of range markers
When inserting time and moving a range marker, move its end first, before
moving its start, so that if the time being inserted is greater than the
length of the range, we don't try to set its start to after its end.
2015-06-17 17:15:21 +01:00
d059bdb40c fix 1024px width layout (remove nudge clock special case)
Due to some change somewhere along the road the nudge clock does
no longer fit in the transport-bar on 1024px screen with 100% font-scale,
even if the 2nd clock is hidden.

However, these days it does fit nicely on its default position even
with wide-editor-mixer on a 1024px screen.
2015-06-17 02:20:02 +02:00
9d4c93aca7 -Wsign-compare 2015-06-16 19:27:22 +02:00
90220998af add Record-Safe feature to libardour (from Nikolay Polyanovskii) 2015-06-16 08:44:03 -04:00
d65f03d074 fixes for canvas text display on Retina (from Valeriy) 2015-06-16 07:52:00 -04:00
3f157f961a use mpeg4 for internal video format (not mjpeg)
reduces file size.
xjadeo > 0.8 and harvid >= 0.8 handle this fine.
2015-06-16 00:47:53 +02:00
dc2030cfd7 ALSA backend: add support for half-duplex devices 2015-06-14 22:26:06 +02:00
acd95215a4 allow to scan for half-duplex ALSA devices 2015-06-14 22:26:06 +02:00
94c146c780 prepare ALSA backend for half-duplex 2015-06-14 22:26:06 +02:00
573ec69a9a probe buffersize if jackd is already running. 2015-06-14 18:10:31 +02:00
b86a8edcff NOOP, reindent code. 2015-06-13 22:05:29 +02:00
c8e16998bf fix crash on OSX displaying MIDI sysex, or similar text. 2015-06-13 22:04:31 +02:00
cc543280d9 We were 2 more debug "bits" away from overflow, so recast PBD::DEBUG mechanism away from a 64bit integer and toward std::bitset.
Clean up a few minor related PBD::DEBUG issues along the way
2015-06-12 18:14:09 -04:00
10643779b6 more refactoring of WaveView threaded code to try to get to heart of crash bug 2015-06-11 17:04:08 -04:00
077e625734 don't queue a callback with the idle event for waveview image generation if one is already queued.
Also, hold relevant lock when waking image rendering thread.
2015-06-11 13:35:01 -04:00
ceb3c38090 comment tweak 2015-06-11 13:35:01 -04:00
97de6efe5d fix transport loop sub-state events
Loading a session with a loop-range, or setting
a loop-range adds LoopDeclick events.
Normal play back (no loop) never processes/clears the events.
Ardour was constantly doing split cycles for nothing.

This lead to stuck midi-notes: Split cycle calls
increment_global_port_buffer_offset() but the midi_diskstream
itself was not aware of any loop positions or offsets.

Entering loop playback adds those events explicitly
in Session::set_play_loop(). auto_loop_changed() only
needs to add/replace session-events when actively looping.
2015-06-11 15:08:22 +02:00