13
0
Commit Graph

16615 Commits

Author SHA1 Message Date
2d227a03a3 fix for memory overrun during read_peaks(), from sebastian reichelt 2015-04-15 13:32:34 -04:00
96ce9c304e Replace control list locks with RWLocks
towards fixing #6238 and #6096.


GUI thread:
#2  Glib::Threads::Mutex::Lock::Lock
#3  Evoral::ControlList::eval 
#4  Evoral::Control::get_double 
#5  ARDOUR::AutomationControl::get_value
#6  ProcessorEntry::Control::control_changed
..
#15 PBD::Timer::timeout_handler


at the same time: Audio Thread (try-lock, fails)

#0  Evoral::Curve::rt_safe_get_vector
#1  ARDOUR::Amp::setup_gain_automation
#2  ARDOUR::Route::process_output_buffers

Due to the failed try-lock.. AMP::_apply_gain_automation
is false. and Amp::run() uses a different gain factor.
-> click.
2015-04-15 18:13:56 +02:00
9391da0c24 portaudio backend: allow Pa_GetDeviceInfo to fail. 2015-04-15 03:05:09 +02:00
15bf19961f When running on Windows, hide the Engine dialog before calling 'push_state_to_backend()'
For some reason we don't understand 'push_state_to_backend()' can interfere with hiding the dialog (causing a partially hidden dialog to remain on screen). It's most likely a timing issue with the Windows version of GTK. Fortunately, reversing the calling order seems to fix it - BUT...

If there's no session loaded yet, the user can be left with a very long wait while nothing seems to be happening. The next thing the user would normally see would be the splash image. So let's display it slightly early (so the user can at least see that something's happening).

Sadly, it's all very kludgy - but a lot better than what we had before...  :)
2015-04-14 11:22:14 +01:00
2d8aa1d2ff simplify coaxing clock value out of ardour 2015-04-14 12:09:45 +02:00
edb9a24727 when building context menu for click on mixer strip, ensure clicked-on strip sets selection appropriately 2015-04-13 22:43:22 -04:00
aab777b490 add braces 2015-04-13 22:25:55 -04:00
d45620d636 now that there is only 1 effective selection, adjust add-new-track-or-bus option for after/before selection 2015-04-13 22:24:10 -04:00
05cd32a9f0 remove UI configuration variable link-editor-and-mixer-selection, and make behaviour be equivalent to this option always being true 2015-04-13 21:57:35 -04:00
d00ab0221a allow to set/change loop-range via OSC 2015-04-12 23:40:35 +02:00
aef6805114 fix issue with logic controlling rude isolate button 2015-04-13 09:02:25 -04:00
d0e636e1a8 remove unused local variable 2015-04-11 10:57:42 -04:00
74df563d6f gtk2_ardour code should use translation domain "gtk2_ardour[MAJOR_VERSION]" not gtk2_ardour3 2015-04-11 10:35:34 -04:00
348c361f79 disable LED-style meters by default 2015-04-11 11:06:09 +02:00
nick_m
5c89ff2837 Remove unused pointer to nothing. 2015-04-11 05:36:05 +10:00
nick_m
5ce8551576 Fix dangling location on new location -> undo. 2015-04-11 04:45:45 +10:00
30d95bbb8c Merge branch 'uk-english'
Merge the UK English localisation.
2015-04-10 18:25:58 +01:00
6c93bcc64f allow MIDI bindings for boolean automation 2015-04-10 17:14:11 +02:00
a4ec7c9e60 bump copyright duration 2015-04-09 21:16:55 -04:00
b3fb73812c Position (and size) canvas tooltips such that they better resemble Gtk tooltips
Mixbus in particular uses both types of tooltip so we might as well make them look the same.

N.B. The appearance is fine now on Windows but needs to be tested on the other platforms (i.e. some tweaking might be necessary).
2015-04-09 15:46:12 +01:00
2234fd4b8a Delete a canvas tooltip after we've finished with it
All canvas objects share just one tooltip object which is based around Gtk::Label. The Label expands if the current tooltip text is wider than the previous text. However, it doesn't shrink again if the next tooltip has shorter text. Eventually, this results in some very strange looking tooltips (especially in Mixbus where they're used quite extensively).

Deleting the object after use will force a new object to get generated next time (at the correct size). There's still only ever one object per canvas but it's no longer persistent.
2015-04-09 15:42:00 +01:00
85e701880b redraw playhead only if pixel position changed. 2015-04-08 12:31:44 +02:00
70a493d510 renice transport icons 2015-04-08 11:29:55 +02:00
47eb9d3fe1 NOOP, cleanup & comments 2015-04-08 10:18:39 +02:00
2356d63d14 construct a metronom 2015-04-08 01:28:52 +02:00
c9f9bb263f more transport button caironizing. 2015-04-08 00:00:23 +02:00
1c4fc896d0 fix de7d6a7 (too narrow bar) 2015-04-07 22:39:42 +02:00
de7d6a7f2c renice transport buttons (part one) 2015-04-07 22:34:09 +02:00
d25e8f2233 update ArdourButton Icon API 2015-04-07 22:34:09 +02:00
62a1a2e086 update german translation 2015-04-07 15:37:34 -04:00
40e3a01459 and 2c89ec5, keep backend running. 2015-04-07 15:23:24 +02:00
0ffde76e59 Revert "prevent double declicks (click after RecStop)"
This reverts commit 6ba555c2f5.
which does not yet take monitoring states into account.

Ideally the case handled here should not happen in the
first place, It should be fixed in session_transport
transport_sub_state.
2015-04-07 15:05:00 +02:00
2bbe4baf29 windows can’t rename open files.
This needs a better solution after 4.0.
2015-04-07 05:25:24 +02:00
6ba555c2f5 prevent double declicks (click after RecStop)
If there's port-latency > period-size, there is a
split cycle with (this_event->action_frame - _transport_frame).
Yet Session::check_declick_out() keeps PendingDeclickOut if
StopPendingCapture is set. The route declick’ed twice:
Once with the period-size and one with the remaining frames,
which resulted in a click.
2015-04-07 05:25:18 +02:00
a306968283 linear declick 2015-04-07 05:25:12 +02:00
83519faffb low-pass filter gain-fader.
fixes various fader zipper noise issues.
It voids sample accuate fader automation (the fader-gain
is low-pass filtered at 10Hz). Yet all musical purposes this
makes a lot more sense than sample accuracy anyway.
2015-04-07 05:21:57 +02:00
528f945ba3 fix crash during new session creation when sync-to-JACK is enabled as a preference 2015-04-06 21:19:51 -04:00
6dea7ebfb0 changes related to resetting source paths during save-as.
This does NOT work with MIDI files at present, because of SNAFU in SMF class, where end_write()
opens the file on its own, without _file_path being set. Needs some careful work, because basically
the SMF<=>SMFSource relationship is not tenable
2015-04-06 21:18:52 -04:00
c819449552 add explanatory comment 2015-04-06 20:14:37 -04:00
15fc481776 make wording consistent 2015-04-06 20:14:24 -04:00
803853b4a4 rationalize incorrect design for removing tracks.
Still requires a way to make this work correctly from the mixer window
2015-04-06 17:56:23 -04:00
537b3a2a0e Separate MonoSpace & Clock font.
Fixes various issues on OSX (e.g. MIDI-tracer & 
list editor Layout)
2015-04-06 21:01:59 +02:00
098ef68bb8 renice 5-pin DIN/MIDI button 2015-04-06 19:51:48 +02:00
446baca43b renice mixer strip
Also speed up track creation(!). get_icon()’s
regexp file search takes a surprising long time.
2015-04-06 18:44:55 +02:00
68e3ba189e replace two more icons w/vector drawing. 2015-04-06 18:43:18 +02:00
7ccc471ce1 Revert "[Summary] Sort the routes of session before creating time axises unconditionally. This will keep tracks sorted even in case a new session created from template."
(Mistakenly applied cherry-pick)

This reverts commit 448b6f0cc7.
2015-04-06 12:21:26 -04:00
Valeriy Kamyshniy
448b6f0cc7 [Summary] Sort the routes of session before creating time axises unconditionally. This will keep tracks sorted even in case a new session created from template.
Conflicts:
	gtk2_ardour/editor_routes.cc
2015-04-06 12:21:00 -04:00
b2da3bccc0 after save-as, if switching to new session, reset all track write sources to use new session path 2015-04-06 12:05:36 -04:00
e3b22a2a18 remove non-existence menu item 2015-04-05 15:25:06 -04:00
a83305169a fix ambiguous use of pow() 2015-04-05 15:13:59 -04:00