Commit graph

21672 commits

Author SHA1 Message Date
Robin Gareus
90a67d04d5 another attempt to fix playhead position with varispeed. 2016-07-25 19:46:19 +02:00
Robin Gareus
994df3aaa3 improve shuttle control response when grabbed. 2016-07-25 19:43:57 +02:00
Robin Gareus
793ff25e08 plugin spectrum analysis: plot A/B 2016-07-25 17:45:14 +02:00
Robin Gareus
822810b88f the endless quest to plug memory leaks -- episode 379 2016-07-25 17:38:59 +02:00
Robin Gareus
eec294a97e the endless quest to plug memory leaks -- episode 378 2016-07-25 17:16:32 +02:00
Robin Gareus
ac8f4baa00 add some flush_pending timeouts 2016-07-25 14:51:23 +02:00
Robin Gareus
3953879d4d add a timeout to flush_pending()
In some circumstances UI::flush_pending never returns, and all UI
interactive ends up being driven by
   while (gtk_events_pending()) { gtk_main_iteration(); }
This has various implications depending on the caller and usually results
in a crash at session-close or exit.
2016-07-25 14:13:52 +02:00
Robin Gareus
42b20f15a2 fix crash in preferences dialog if lv2-extended is not defined 2016-07-25 01:33:23 +02:00
Julien "_FrnchFrgg_" RIVAUD
46c311b2b0 Fix frequence display for plugin analysis mouse over
When freq was changed to be an integer, the conversion to kHz became a
truncation. Divide by the float 1000.0 to pass the correct value to the
stringstream formatting routine.
2016-07-25 00:46:49 +02:00
Julien "_FrnchFrgg_" RIVAUD
9215710c59 Plugin Analysis: show numeric values on mouse over
For people who need more precise frequency or response amplitude, show
the values corresponding to the point under the mouse.
2016-07-25 00:31:47 +02:00
Robin Gareus
ad34eb7e0b fix some spelling inconsistencies. 2016-07-24 20:30:23 +02:00
Robin Gareus
23a2cc4b71 prepare region RMS (loudness) normalization 2016-07-24 20:30:23 +02:00
Len Ovens
80bd3e7279 OSC: Make pan controls work properly with MB too. 2016-07-24 09:06:59 -07:00
Colin Fletcher
c21ba6f457 libs/ardour: update UK English localisation 2016-07-24 16:11:46 +01:00
Colin Fletcher
864a1860cc gtk2_ardour: update UK English localisation 2016-07-24 16:11:46 +01:00
Robin Gareus
07959fb365 some more (untranslatable) lower case kilos. 2016-07-24 16:54:08 +02:00
Robin Gareus
85746c528f export rate formatting:
* use the locale (44.1 vs 44,1)
* do not encourage translating SI units and prefixes)
2016-07-24 16:54:08 +02:00
Robin Gareus
a76607486c kilo is a lower-case 'k' 2016-07-24 16:54:08 +02:00
Julien "_FrnchFrgg_" RIVAUD
4093cf6b90 Make the trim knob on busses show only if there is audio
The trim knob has been designed to operate only on audio channels. If
the bus has none, hide the knob that would otherwise have no effect at
all.

Factor the trim control show/hide code out of MixerStrip::set_route(),
and also call that code in response to I/O changes in the route.
2016-07-24 13:51:11 +02:00
Robin Gareus
ba815a903b add a ToDo note for after string-freeze 2016-07-24 13:33:09 +02:00
Robin Gareus
7897b750ea rework FFT-graph, add pointer-position annotations
* replace old Gdk graphics context with cairo drawing
* cache graph on an image-surface
* allow partial exposure
* add annotation overlay
2016-07-24 13:00:15 +02:00
Robin Gareus
46d2b03af0 retain desired samplerate when switching backends 2016-07-24 13:00:15 +02:00
Robin Gareus
4e693c1830 add a script to exercise varispeed playback 2016-07-24 13:00:15 +02:00
Robin Gareus
bcee4e1518 add a lua timer callback signal 2016-07-24 13:00:15 +02:00
nick_m
299709cbbc Make Region's _beat a PBD::Property.
- fixes incorrect beat setting on undo for various region operations.
2016-07-23 02:23:08 +10:00
nick_m
6e49ca61a4 Remove the temporary note group in MidiRegionView, update start trim during drag. 2016-07-22 23:21:27 +10:00
Robin Gareus
43bdfa7197 invalidate meter-color cache when midi channel count changes
This fixes a bug of midi-colors being used for audio-meters or
vice versa when when the total channel count remained identical
2016-07-22 12:57:24 +02:00
Robin Gareus
87c38e1a26 properly handle meter channel count changes
* reset peak when switching type (audio/midi) or total count
* clamp to +40dBFS to prevent endless falloff for HUGE signals
2016-07-22 12:57:24 +02:00
Paul Davis
d53d0faf93 a more reliable/robust/less complex version of previous commit 2016-07-21 14:00:18 -04:00
Paul Davis
3bf7c4ef49 do not delete MIDIControllable* when dealing with pending MIDI Control requests - the MIDIControllable belongs to the surface code in controllables 2016-07-21 13:42:11 -04:00
Paul Davis
bd80b2f144 fix issue with solo-in-place
Monitor outs cannot be muted by other soloing. Duh.
2016-07-21 13:16:05 -04:00
John Emmas
39adc85e29 Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour) 2016-07-21 09:01:21 +01:00
Paul Davis
78296d2c18 tentative fix for a crash that occurs when switching backends.
Session::process() returns early with Session::_silent set to true. AudioBuffer::set_data()
was never set for (at least) the LTC output port. PortManager::cycle_end() calls
AudioBuffer::silence() which used to assume that get_buffer() must have been called. But it
was not, because that should have happened in Session::process().

So check AudioBuffer::data() and call get_buffer() if required.
2016-07-20 23:26:50 -04:00
Paul Davis
9c323c59ef messages sent to info/warning/error/fatal should end with endmsg, not endl 2016-07-20 16:34:00 -04:00
Paul Davis
34fe25c603 remove debug noise 2016-07-20 16:33:40 -04:00
Paul Davis
54730c2aa5 remove long-lived debug output related to RT-setting of controls 2016-07-20 16:21:03 -04:00
Paul Davis
52d746c5fb MuteMaster should (a) use a Muteable's own ::muted_by_others_soloing() (b) not try to use its own _solo_ignore to track Muteable::can_solo() or solo isolate state 2016-07-20 16:10:11 -04:00
Paul Davis
316562ee9e ensure that Route::_phase_control has its state restored, and also re-arrange Route::set_state() to avoid duplicated control set_state() calls 2016-07-20 14:47:24 -04:00
Len Ovens
b502d689e2 OSC: comp mode control text needs to be changed by signal too. 2016-07-20 08:59:06 -07:00
Paul Davis
72a91ae274 add LocaleGuard while restoring RC configuration.
Should fix issues with reloading various RC variables that use float
2016-07-20 10:48:07 -04:00
Paul Davis
81211a91b1 minor safety fix for the Pane 2016-07-20 10:48:07 -04:00
Paul Davis
82d3afb851 Gtkmm2ext::Pane: attempt to track child lifetime, since Gtkmm 2.4 doesn't do this correctly 2016-07-20 10:48:07 -04:00
Julien "_FrnchFrgg_" RIVAUD
541e6aaeb1 Fix previous commit
A spurious space change was included by mistake.
2016-07-20 14:01:13 +02:00
Julien "_FrnchFrgg_" RIVAUD
522b288526 Make bus's trim control also affect sends to the bus
The trim processor was moved to the front after the internal return was,
so the trim setting was applied before the signal coming from other
tracks/busses sends was mixed in. Change the order so that trim applies
to audio from internal sends as well.
2016-07-20 13:58:42 +02:00
Damien Zammit
b648ad9cc7 a-Delay: Smooth transition on LPF changes and set max feedback 100 2016-07-20 21:17:51 +10:00
Damien Zammit
62cd4d43bf a-Comp: Fix bug with DSP in the knee processing region 2016-07-20 20:10:46 +10:00
Julien "_FrnchFrgg_" RIVAUD
85cdff7cb0 Use the new do_export() method when asked to export 2016-07-20 02:01:40 +02:00
Julien "_FrnchFrgg_" RIVAUD
f371ac1beb Add a dedicated export method to MidiRegion
To export a MIDI region to a file, the code used MidiRegion::clone()
since it takes care of creating a new file-backed source with the wanted
contents. Nevertheless, it had several side-effects:
- it created and registered a new region which is confusing to users
- it only exported notes that were in the region range, but didn't
  remove the region start offset from MIDI events, essentially producing
  a spurious silence at the beginning of the exported file (this is not
  a problem for region cloning because the newly created region is made
  aware of the offset and caters for it).

Add a dedicated code path for export, that uses the new offsetting
capabilities of MidiModel::write_section_to().
2016-07-20 02:01:40 +02:00
Julien "_FrnchFrgg_" RIVAUD
728e6027d1 Make MidiModel::write_section_to able to offset event times
MidiModel::write_section_to() only wrote events to the given source if
those events had a time in the given range. Make it able to optionally
offset event times so that the start of the written range corresponds to
time 0 in the source.
2016-07-20 02:01:40 +02:00
Julien "_FrnchFrgg_" RIVAUD
2bad0e5c55 Make MidiModel::write_section_to() more type-independant
Replace hard-coded Evoral::Beats by TimeType which is currently the same
thing but might change in the future.
2016-07-20 02:01:40 +02:00