060f9cb355
fix const-cast warnings
2015-06-29 14:18:15 -04:00
438f3e5141
remove const warning in SMF C code by changing function parameter argument qualifier
2015-06-29 14:18:15 -04:00
2e87b7f24f
comment unused but potentially usable variables
2015-06-29 14:18:15 -04:00
ec16c454ef
comment unused but potentially usable variables
2015-06-29 14:18:15 -04:00
bbece8f8d9
try using threaded waveviews in tracks also
2015-06-29 14:18:15 -04:00
GZharun
6584a89c4e
Fixed incomplete merge for audioengine.cc
...
[To be reviewed by] Paul Davis
2015-06-29 14:18:15 -04:00
a38e67d55b
never use threaded waveview rendering for Tracks
2015-06-29 14:18:15 -04:00
0bbe7ad96b
comment out two verbose debugging outputs
2015-06-29 14:18:15 -04:00
329753241f
clip level is adjusted only by region amplitude (which is audible), not by _amplitude_above_axis
2015-06-29 14:18:15 -04:00
bace0e85dc
attempt to correctly respond to changes in _amplitude_above_axis in ArdourCanvas::WaveView
2015-06-29 14:18:15 -04:00
2e29e7ee62
increase debug bitset size to accomodate additional debug bits imported from Tracks
2015-06-29 14:18:15 -04:00
0e72e8446a
update waves' fader implementation, clean up whitespace, indentation, variable initialization and remove unused members
2015-06-29 14:18:15 -04:00
8e9bb12f92
no-op: fix whitespace/indentation
2015-06-29 14:18:15 -04:00
GZharun
dd0a73e2d4
Fixed use case when session is being replaced with new session with the same name.
...
We should check session state file (*.ardour) presence to determine if the session is new for TracksLive as TracksLive has a use case which gives user a possibility to replace existing session by clicking on it's state file when new session is being created.
[To be Reviewed by] Paul Davis
2015-06-29 14:18:15 -04:00
GZharun
c13d3ff790
[Summary] This action is duplicated. To make TRX features work correctly this flag should be dropped later.
...
[To be Reviewed by] Paul Davis
2015-06-29 14:18:15 -04:00
d4bd394b4b
Revert "remove unused variables". They are used on OS X.
...
This reverts commit 0fba19e9e6e6c519c89ce63149581b8f24b38c8c.
2015-06-29 14:18:15 -04:00
8c4b899352
remove unused variables
2015-06-29 14:18:15 -04:00
e6b4c9f610
fix whitespace/indentation and compiler warnings
2015-06-29 14:18:15 -04:00
03dbf7857e
remove compilation warning (-Wunused-but-set-variable)
2015-06-29 14:18:15 -04:00
93a64cb4fc
new PBD::DEBUG API changes for Waves backend
2015-06-29 14:18:15 -04:00
6bdac56998
some more information output to log during save-as, for debugging
2015-06-29 14:18:15 -04:00
b6a8f1fbf5
two required changes to default values for Tracks
2015-06-29 14:18:15 -04:00
ca25a664d3
Tracks doesn't know how to handle Engine (JACK) sync
2015-06-29 14:18:15 -04:00
92b023b908
fix API version SNAFU caused by re-copying EngineStateController out of Tracks
2015-06-29 14:18:15 -04:00
0f9cac978e
(re)implement Yevgeny's LTC branch changes in the context of ardour-merge-from-tracks (just the libs/* section)
2015-06-29 14:18:15 -04:00
e20242c242
fix indentation and style guide issues in new EngineStateController code
2015-06-29 14:18:15 -04:00
GZharun
bdbad46dee
copy current EngineStateController from Tracks to import Yevgeny's LTC (re)connection related changes
2015-06-29 14:18:15 -04:00
dddf76abf5
fix previously cherry-picked commit to be Tracks-only, since Ardour/Mixbus are not affected
2015-06-29 14:18:15 -04:00
Nikolay
55658c3aae
[Summary] Mac OS specific bug fix: Increased priority of the top menu bar events
...
[Details] g_idle_add () which was used for this purpose used G_PRIORITY_DEFAULT_IDLE>=200 which was too low for correct main menu requests processing, like showing Mixer or Big Clock Window.
The priority was increased to G_PRIORITY_HIGH_IDLE = 100.
According to GTK manual (https://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html#G-PRIORITY-HIGH-IDLE:CAPS )
GTK+ uses G_PRIORITY_HIGH_IDLE + 10 = 110 for resizing operations, and G_PRIORITY_HIGH_IDLE + 20 = 120 for redrawing operations.
I assume that during record or playback on tracks there are too many redraw request which didn't give any chance for main menu request to be processed in time with old priority value.
This change must be considered as a hot fix so far.
The issue might be deeper. Will be investigated with Paul.
[Feature reviewed] AMishyn
[Reviewed by] PDavis, GZharun
2015-06-29 14:18:15 -04:00
a9e84cee27
new file holding non-AVX stubs for AVX functions on linux
2015-06-29 14:18:15 -04:00
GZharun
40ddbc6195
Fixed up types mismatch in AudioCallback and AudioCllbackData struct
2015-06-29 14:18:15 -04:00
76f066f40c
fix typo in wavesbackend code
2015-06-29 14:18:15 -04:00
0a433b2d07
Revert "add operator bool() to Evoral::Beats"
...
This reverts commit f8b5263af5e4d5088f1d5551e999679515add432.
OS X compiler gets confused by this change.
2015-06-29 14:18:14 -04:00
16c34acc88
add operator bool() to Evoral::Beats
2015-06-29 14:18:14 -04:00
d27dc3557e
new Session::default_track_name_pattern (DataType) method, based on an idea in Tracks
2015-06-29 14:18:14 -04:00
c66ea2c170
add new Gtkmm2ext::pixel_size() to conveniently get width&height for a given font + string
2015-06-29 14:18:14 -04:00
GZharun
dbe0d5a649
Fixed up the comment
2015-06-29 14:18:14 -04:00
a624573ee6
add additional check for playhead priority target when testing loop range, to match Tracks' logic
2015-06-29 14:18:14 -04:00
cb38b4689b
add Session::reconnection_in_progress(), used by Tracks
2015-06-29 14:18:14 -04:00
3b1609fc52
use the frame/sample based inter-scene gap, not the msecs one (now removed)
2015-06-29 14:18:14 -04:00
60b16811b7
scene gap is measured in frames, not msecs.
...
Could have used "samples" here but that can wait till we do a big rename
throughout the code base
2015-06-29 14:18:14 -04:00
5d41ab6983
add some session-scope configuration variables needed by Tracks.
...
Also add some comments regarding the presence of certain variables in this file
2015-06-29 14:18:14 -04:00
8ac5ef15f0
add more directory names to set managed via various APIs (automation, analysis, plugins, externals)
2015-06-29 14:18:14 -04:00
GZharun
b33d1732a6
Fixed a misprint in a comment
2015-06-29 14:18:14 -04:00
c2476ea73d
add API for controlling and determining active status of a SceneChange
...
Conflicts:
libs/ardour/ardour/scene_change.h
2015-06-29 14:18:14 -04:00
GZharun
51d2804535
Waves Backend MERGED from Tracks
...
[To be reviewed by] Paul Davis
2015-06-29 14:18:14 -04:00
GZharun
5d4f1c3419
Backend MERGE:
...
Paul Davis' change 3d12a4da82
[To be reviewed by] Paul Davis
2015-06-29 14:18:14 -04:00
GZharun
edbbc8344a
Reverted Ben's default buffer size function implementation.
...
Related to eeca7f7
2015-06-29 14:18:14 -04:00
GZharun
21b9e180bd
Reverted Ben's m_DefaultBufferSize stuff as it looks redundant. Will be put back if we establish the opposite
2015-06-29 14:18:14 -04:00
6485300479
remove more explicit compiler flags by placing them in the compiler flags dictionary
2015-06-29 14:18:14 -04:00
3adfa9ef57
minor fix for wavesaudio backend after earlier changes + merge/meld madness
2015-06-29 14:18:14 -04:00
943394a49a
add PBD::DEBUG bits for WavesAudio and WavesMIDI
2015-06-29 14:18:14 -04:00
Greg Zharun
320da29922
[Summary] AudioPort buffer does not need 64 byte alignment which cache_aligned_malloc provides.
...
Added new function which accepts argument to specify required alignment.
AudioPort buffer requires 32 byte alignment
[Review Required] YPosdnyakov
2015-06-29 14:18:14 -04:00
237f255fb5
meld-driven unification of current ardour-ish WavesAudio backend and current tracks WavesAudio backend.
...
May be incomplete, and may not compile (testing to follow)
2015-06-29 14:18:14 -04:00
GZharun
0fca07fa9d
cosmetic fix (grygorii)
2015-06-29 14:18:14 -04:00
480f1e4082
noop: fix indentation/whitespace
2015-06-29 14:18:14 -04:00
f34d870a2c
increase event pool for backend reset thread (somewhat unnecessarily, but lets keep Kyiv happy)
2015-06-29 14:18:14 -04:00
2911bb9fb8
AudioEngine tweaks from Tracks, related to stopping audioengine and halting
2015-06-29 14:18:14 -04:00
289078f7f8
merge in Tracks-derived session-end-is-N-seconds beyond last region end, but define N as zero for Ardour/Mixbus
2015-06-29 14:18:14 -04:00
a9f3ca6a81
fix indentation and remove whitespace
2015-06-29 14:18:14 -04:00
68aab0153c
rename Session::add_session_range_location() to ::set_session_range_location()
2015-06-29 14:18:14 -04:00
440618bc85
enabling record (either tentative for punch or fully enabled) cancels play loop mode
2015-06-29 14:18:14 -04:00
854ff8d886
implement missing methods for MIDISceneChange
2015-06-29 14:18:13 -04:00
960cff790b
mark session dirty after scene change is added/removed
2015-06-29 14:18:13 -04:00
a47cacfcc6
add signal to indicate absence of removal of scene change from Location
2015-06-29 14:18:13 -04:00
8367b7cab3
remove artificial, accidental and utterly unintended limit of the numbering of scene changes
2015-06-29 14:18:13 -04:00
706eb6dacd
add Tracks specific handling of MMC Record Strobe, since Tracks has no concept of punch
2015-06-29 14:18:13 -04:00
682d8ae064
make sure we allocate large enough buffers when doing a non-butler context disk buffer refill.
...
The size of the buffer now needs to reflect that we calculate read
refills in bytes, and if we are not using 32 bit float sample format
on disk, that can translate into > 1M samples.
2015-06-29 14:18:13 -04:00
3a65005a75
remove Tracks runtime conditional, incorrectly added during manual merging
2015-06-29 14:18:13 -04:00
ab2e23db9a
follow various events related to playhead priority (loop changes, parameter changes); remove debug output
2015-06-29 14:18:13 -04:00
96078650c9
API to set tooltip y-margin
...
Conflicts:
libs/gtkmm2ext/gtkmm2ext/persistent_tooltip.h
libs/gtkmm2ext/persistent_tooltip.cc
2015-06-29 14:18:13 -04:00
016beaab9b
give different Tracks + Ardour/Mixbus playhead priority functionality, and add missing set_track_loop() call for playhead priority
2015-06-29 14:18:13 -04:00
30a698f42e
correct placement of buffering adjustments w.r.t Butler thread creation
2015-06-29 14:18:13 -04:00
GZharun
e52375aa40
[Summary] Moved session buffers adjustment during butler thread set up to the place we are ready to handle them.
2015-06-29 14:18:13 -04:00
GZharun
be92c927e8
[Summary] HOT FIX: Fixed crash which happens on an attempt to load a session with audio after preferences removal, when buffer preset is set to Medium.
...
[Details] It happened because ARDOUR::Butler::thread_work() was called before Buttler::map_parameters() method was called, which sets up the correct buffering parameters (set_buffering_parameters () call) according to chosen preset.
I've added this calls into Butler::start_thread () to make sure everything is set up and ready for use for Butler.
This is a hot fix, because it requires the review from Paul Davis, and probably more gentle solution. But it's possible this commit may become the main solution itself.
2015-06-29 14:18:13 -04:00
6878742d9f
try to correctly set up build of AVX code for windows and linux, using compiler flags dictionary.
...
Adds use of 'pic' compiler flags dictionary item
2015-06-29 14:18:13 -04:00
0d78359d29
meter computation must use absolute value of all samples (ignoring sign bit)
2015-06-29 14:18:13 -04:00
8bb54f41c6
add windows-only AVX functions
2015-06-29 14:18:13 -04:00
b938129589
Made optimized function Prototypes more correct.
...
They shouldn't be dependant on ARDOUR types as long as they will work correctly with float
samples only and with 32 unsigned int as sample counter.
2015-06-29 14:18:13 -04:00
92df1594f9
Corrected comments for x86_sse_avx_find_peaks() intrinsics built function
2015-06-29 14:18:13 -04:00
07c0750142
add new file with AVX functions.
...
Does not fully support Linux at this time
2015-06-29 14:18:13 -04:00
6410aa896f
Added optimized AVX function for sample processing
...
Added AVX versions of existing 5 SSE functions. Added 6th AVX function to copy vectors which is 1.5 times faster then memcpy.
Data consistency and validness is fully tested after processing with new AVX functions on aligned and non aligned buffers.
2015-06-29 14:18:13 -04:00
e2a76746e6
fix accidentally deleted return value
2015-06-29 14:18:13 -04:00
5927fb4997
fix timing of Butler mapping config parameters to avoid crash.
...
Amazing that this didn't show up on Linux at all, or on the first run after build. Computers ... sigh.
Conflicts:
libs/ardour/butler.cc
2015-06-29 14:18:13 -04:00
e71236794d
two tweaks required to fix up previous commit
2015-06-29 14:18:13 -04:00
ba981a14c4
initial version of playback priority design. No GUI control over options yet
...
Conflicts:
libs/ardour/ardour/session.h
libs/ardour/ardour/types.h
libs/ardour/enums.cc
libs/ardour/session_transport.cc
system_config
2015-06-29 14:18:13 -04:00
2a5dbff87b
ensure that working buffers (for gain + mixing) are large enough.
...
Remove AudioDiskstream and AudioSource _working_buffers_size members, since they are no longer used
2015-06-29 14:18:12 -04:00
5f4f40205b
clean up cherry-pick of varifill tweaks from Waves Tracks
2015-06-29 14:18:12 -04:00
ca09a4a355
more tweaks for varifill model, and avoid filling playback buffers during session loading
...
Conflicts:
libs/ardour/diskstream.cc
libs/ardour/session.cc
libs/ardour/session_state.cc
Conflicts:
libs/ardour/session.cc
2015-06-29 14:18:12 -04:00
1caf54ee7f
add initial support for vari-fill
...
When refilling playback buffer, try to fill it completely, or at least
using the next-lowest power-of-2 as the amount to read. When locating,
where we use do_refill_with_alloc(), only partially fill the buffer.
Work not yet finished, but possibly promising.
2015-06-29 14:18:12 -04:00
4644e113a8
introduce the idea of buffering presets, along with 3 possible settings (plus custom).
...
Actual numbers for the parameters are still to be determined/verified, and probably subject to
some platform specificity
2015-06-29 14:18:12 -04:00
9ef4888e91
fix logic of previous commit for transport-stop during locate
2015-06-29 14:18:12 -04:00
4abea520df
Do not disable record (performing transport stop) during locate request when MTC source is activated
...
This is required for the case when we leave Tracks ready for record and then activate MTC source.
2015-06-29 14:18:12 -04:00
16dccfcb8a
Add some libardour support for indicating MTC active status.
...
The general design here is wrong, because it should be more general and cover all possible sync sources.
But it does work, it is used in Tracks, and my attempt to do it correctly revealed the problem to be
an EXTREMELY difficult design issue (as in: two weeks of work on it did not really solve the
fundamental issues with slave design).
So, here it is for now, c/o Grygorii
2015-06-29 14:18:12 -04:00
5c8c249db9
Revert "[Summary] Adding missing initialization of the date &time formats. “Init trashes” caused a bit ruined logic of the export dialog."
...
This reverts commit c9a190b7470d29bc6528195323a907a8d619c1d4. Change was
already in place (and used correct initialization order as well).
2015-06-29 14:18:12 -04:00
Valeriy Kamyshniy
fa3a843d61
[Summary] Adding missing initialization of the date &time formats. “Init trashes” caused a bit ruined logic of the export dialog.
2015-06-29 14:18:12 -04:00
GZharun
67d42d9b28
[Summary] Do not restore routes connection using XML IO state for TracksLive, because this is redundant for TracksLive.
...
Moreover if the device is changed XML state of IO contains port names of the old device which causes attempts to connect to non existent ports.
[Reviewed by] Paul Davis
2015-06-29 14:18:12 -04:00
GZharun
939e7c2d52
Fixed f65026f0a1cbc64862a82109c28f5d493fc45f2e merged commit related to waves backend
...
[Reviewed] PDavis
2015-06-29 14:18:12 -04:00
Valeriy Kamyshniy
8505c16057
[Summary] Just adding comment for better code-maintaining.
2015-06-29 14:18:12 -04:00
125c5e224c
superior fix for limits on track name length
2015-06-29 14:18:12 -04:00
Valeriy Kamyshniy
eab6e309b2
[Summary] Fixed bug: Dragging Region with copying it provoked a crash. The reason is: too short room for name generated for new region.
2015-06-29 14:18:12 -04:00
GZharun
87f1c66ba1
[Summary] Fixed race condition: "should_do_transport_work" must not be dropped to 0 outside, it's illegal. It may cause "should_do_transport_work" go below 0 and make butler to round for a very-very long time (hang and possible lock of other threads) before stop() call returns.
...
_butler->stop () is synchronous, so its safe to wait in this call for butler to finish it's work.
[Reviewed by] PDavis
2015-06-29 14:18:12 -04:00
7ef5aea500
when reversing regions, use the original source's SR, not the current session one
2015-06-29 14:18:12 -04:00
4a27a8b531
when creating new sources for a non-realtime Filter process, add option to use the same SR as the initial sources
2015-06-29 14:18:12 -04:00
f116455280
after changing session SR, reset all write sources to use new rate
2015-06-29 14:18:12 -04:00
c4e3135617
Tracks does not (want to) support destructive tracks
2015-06-29 14:18:12 -04:00
d0b5f87fba
Tracks specific fix for SR reverting to previous value while creating new session
2015-06-29 14:18:12 -04:00
c5a657ceee
add 176.4kHz to available sample rates in export GUI
2015-06-29 14:18:12 -04:00
54ec059a6f
add 176.4kHz to export sample possibilities
2015-06-29 14:18:12 -04:00
d98bf248ad
more reliable check for session files, to cover *.ardour.bak cases, and exclude them
2015-06-29 14:18:12 -04:00
f6149dffa3
Tracks puts the master bus remote ID into a different "namespace" than Ardour
2015-06-29 14:18:12 -04:00
ba151374b0
Tracks does not use a K20 meter for the master
2015-06-29 14:18:12 -04:00
VKamyshniy
94fc1dc745
[Summary] In Location::set_state - adding emitted FlagsChanged (if any flag changed). This is not a hot fix - it's for UNDO changed skipping state for SKIP markers. Paul has approved this change.
2015-06-29 14:18:12 -04:00
8488d8f6a5
remove unnecessary and unused changes from grygorii
2015-06-29 14:18:12 -04:00
fb89ff4643
remove unused method
2015-06-29 14:18:12 -04:00
f11fc1852c
fix whitespace/indentation and remove references to ScopedConnectionLists that were not used even in Tracks
2015-06-29 14:18:12 -04:00
GZharun
317bacfa3a
[Summary] Eliminated redundant marker update notification which lead to creation of huge amount of redundant session events
2015-06-29 14:18:12 -04:00
b8f29872a7
noop: indentation
2015-06-29 14:18:12 -04:00
a6a522766b
add required header
2015-06-29 14:18:12 -04:00
0b1a10b2d5
make use of loop range as default export range being Tracks specific
2015-06-29 14:18:12 -04:00
VKamyshniy
14226356d8
[Summary] Per Igor's request: if auto play loop is set on, the main timespan should be the range loop location.
2015-06-29 14:18:11 -04:00
860e22ac6d
when loop range is set, if loop-is-mode and seamless looping, set loop for all tracks
2015-06-29 14:18:11 -04:00
13964dd9eb
fix inadvertent typo
2015-06-29 14:18:11 -04:00
b558d00789
Tracks uses -inf gain on newly created tracks
2015-06-29 14:18:11 -04:00
fab465c4cc
bring in more connection-related changes from Tracks
2015-06-29 14:18:11 -04:00
c57aecafb1
add engine_state_controller.cc to libardour sources when building tracks
2015-06-29 14:18:11 -04:00
c9f6cd88b1
add track auto-naming options from Tracks
2015-06-29 14:18:11 -04:00
3a56004f65
fix crash caused by missing return; add explanatory comments
2015-06-29 14:18:11 -04:00
4d64aed5d2
fix typo in Tracks build
2015-06-29 14:18:11 -04:00
42f5cc4784
include Tracks engine state controller header for Tracks build
2015-06-29 14:18:11 -04:00
4cd7f2568c
add required profile header
2015-06-29 14:18:11 -04:00
33d1d8a6c1
change names for scene I/O port connection methods
2015-06-29 14:18:11 -04:00
18415ba6cd
avoid redundant IO port reconnections in Tracks runtime case
2015-06-29 14:18:11 -04:00
49e292f360
noop: more style guide fixes
2015-06-29 14:18:11 -04:00
6eebb6326a
noop: fix indentation to match style guide
2015-06-29 14:18:11 -04:00
71dd7ce934
add EngineStateController code from Tracks
2015-06-29 14:18:11 -04:00
3c3d62c18a
Fixed issue with crash when invalid get_connections request is made on invalid port handle. (Grygorii)
2015-06-29 14:18:11 -04:00
32224ee608
add in more Tracks-related auto-(re)connect changes
2015-06-29 14:18:11 -04:00
bebb03a0a4
add in more Tracks-related auto-(re)connect changes, all conditionalized by Profile
2015-06-29 14:18:11 -04:00
c46ec135e5
initial incorporation of Tracks' automatic reconnect features, based on current Tracks code
2015-06-29 14:18:11 -04:00
de4efe73a6
merge several of the trickiest Tracks- and platform-specific RC configuration variables
2015-06-29 14:18:11 -04:00
d1747b4137
no-op: indentation and whitespace fixes
2015-06-29 14:18:11 -04:00
GZharun
ae8c494c02
[Summary] Added export cleanup
...
[Reviewed by] Andriy Mishyn
2015-06-29 14:18:11 -04:00
f9aeb659ee
indentation and formatting cleanup
2015-06-29 14:18:11 -04:00
GZharun
f837b66c20
[Summary] Fixed issue with export built on Mavericks. There was not check on empty sets in ExportFormatSpecification class.
...
C standard, section 6.5.6.8 says:
"...if the result points one past the last element of the array object, it shall not be used as the operand of a unary * operator that is evaluated..."
So GCC compiler and CLANG compiler (Mavericks) process this operation different way. GCC returns 0 on an attempt to dereference end iterator when CLANG returns a non 0 value.
2015-06-29 14:18:11 -04:00
Greg Zharun
5877f255f0
[Summary] Fixed windows build
2015-06-29 14:18:11 -04:00
04b2d34362
add channel_count() to audio source API
2015-06-29 14:18:11 -04:00
9c95a8bdea
another signal related to record state added from Tracks.
...
This doesn't appear to have obviously distinct semantics from RecordStateChanged
but Tracks is using it and I can't verify instantly that it could be replaced
by RecordStateChanged.
2015-06-29 14:18:11 -04:00
43f4b82485
distribute use of RouteAddedOrRemoved to appropriate places.
...
It might be wise to use this rather than GUIIdle but that needs further investigation
2015-06-29 14:18:11 -04:00
8c880b6529
include emission of RouteAddedOrRemoved in Session::add_audio_track()
2015-06-29 14:18:11 -04:00