nick_m
d3f0e65199
Tempo ramps - tempo related tests pass, add ramp test.
2016-05-27 23:38:13 +10:00
nick_m
b71235519a
Tempo ramps - remove more code.
2016-05-27 23:38:13 +10:00
nick_m
7490c86141
Tempo ramps - neaten code layout.
2016-05-27 23:38:13 +10:00
nick_m
c8fe6733cd
Tempo ramps - fix some silly code.
2016-05-27 23:38:13 +10:00
nick_m
324e51c734
Tempo ramps - calculate bars correctly when setting meter position.
2016-05-27 23:38:13 +10:00
nick_m
2c25913d26
Tempo ramps - fix thinko in a could-be-more-efficient manner.
...
- some form of 'no time' now functions correctly between audio locked meters.
2016-05-27 23:38:13 +10:00
nick_m
dd212ea4af
Tempo ramps - set correct beat on audio locked meters.
2016-05-27 23:38:13 +10:00
nick_m
094aa816df
Tempo ramps - multiple audio-locked meters are go.
...
- more or less
2016-05-27 23:38:13 +10:00
nick_m
b341e6cfaa
Tempo ramps - more clarity i hope take 2.
2016-05-27 23:38:13 +10:00
nick_m
26dd31c3a1
Tempo ramps - hopefully better overview.
2016-05-27 23:38:13 +10:00
nick_m
6f5e8a885e
Tempo ramps - more code reorganization, almost audio-locked meter nirvana.
2016-05-27 23:38:13 +10:00
nick_m
bc44f9bcaf
Rampo Temps - remove nonsense.
2016-05-27 23:38:13 +10:00
nick_m
c2705363cf
Tempo ramps -update audio-locked meter bbt correctly, a bit more explanation.
2016-05-27 23:38:13 +10:00
nick_m
5d37fc6e36
Tempo ramps - more multi audio-locked meter work, code reorganisation.
2016-05-27 23:38:13 +10:00
nick_m
d7de12428b
Tempo gramps - fix compilatoin?
2016-05-27 23:38:13 +10:00
nick_m
66df7486b3
Tempo damps - fix compilation
2016-05-27 23:38:13 +10:00
nick_m
26bbffda7f
Tempo cramps - do not allow tempos to share the same frame.
2016-05-27 23:38:13 +10:00
nick_m
7cb5fca27b
Tempo camp - clarify comments.
2016-05-27 23:38:13 +10:00
nick_m
29700068d7
Tempo ramps - improvements from static analysis.
2016-05-27 23:38:13 +10:00
nick_m
f974f40611
Tempo ramps - fix meter drag finished bug.
2016-05-27 23:38:13 +10:00
nick_m
a9714de9b9
Tempo ramps - tempo drags respect the snap modifier. add some documentation.
2016-05-27 23:38:13 +10:00
nick_m
354567e5a7
Tempo ramps - switch MusicLocked tempos to beat-based dragging. fix various bugs wrt future-snapped tempo drags
2016-05-27 23:38:12 +10:00
nick_m
a2797f4d38
Tempo ramps - use correct meter when snapping to the future.
2016-05-27 23:38:12 +10:00
nick_m
daa07ce6e0
Tempo ramps - tempos now musically snap to their future.
2016-05-27 23:38:12 +10:00
nick_m
16197654d1
Tempo bambi - clean up.
2016-05-27 23:38:12 +10:00
nick_m
15f8f371c3
Tempo rampo - tempo tick lines no longer assume constant tempo.
2016-05-27 23:38:12 +10:00
nick_m
a7df009de7
Tempo ramps - avoid sending negative beats to the BFC.
2016-05-27 23:38:12 +10:00
nick_m
cb43d485fa
Tempo ramps - another approach to first meter/tempo.
...
- first tempo is glued to first meter position as they are now
both locked to AudioTime.
- all existing audio-locked tempos to the left of the first meter
are made inactive. all to the right are made active.
2016-05-27 23:38:12 +10:00
nick_m
69b6379b23
Tempo ramps - pressing constraint modifier keys during tempo drag changes tempo with vertical movement, incorporating beat constraint (if present).
...
- makes it easy to find suitable accelerandos for hit points in conjunction
with playhead position, beat-locked tempos and initial meter frame.
2016-05-27 23:38:12 +10:00
nick_m
187122ce5b
Tempo ramps - towards having multiple audio-locked meters again.
...
- also speeds up meter dragging
2016-05-27 23:38:12 +10:00
nick_m
e4dfd23d2e
Tempo ramps - bbt_time() speedup, more meter dragging performance improvements.
2016-05-27 23:38:12 +10:00
nick_m
591a2026c0
Tempo rmps - amend last commit, speeding up dragging of audio-locked meters quite a bit.
2016-05-27 23:38:12 +10:00
nick_m
3f3ad715ef
Tempo ramps - minor cleanup.
2016-05-27 23:38:12 +10:00
nick_m
3c2ad63de7
Tempo ramps - complete 'music locked meters are now positioned using beats' transition.
2016-05-27 23:38:12 +10:00
nick_m
33e98186e4
Tempo ramps - small bug fixes/cleanup.
2016-05-27 23:38:12 +10:00
nick_m
99efddb050
Tempo ramps - various bug fixes (meter drag undo, incorrect copy)
2016-05-27 23:38:12 +10:00
nick_m
58d4889ad3
Tempo ramps - music-locked meters now use beats rather than pulses as their reference.
...
- fixes many problems with a non-zero audio-locked first meter.
2016-05-27 23:38:12 +10:00
nick_m
ba3ae54f51
Tempo ramps - clean up negative beat handling in beats_to_bbt_locked ()
2016-05-27 23:38:12 +10:00
nick_m
cab7335d58
Tempo ramps - fix crash with simplest case.
2016-05-27 23:38:12 +10:00
nick_m
1c1bf4a06b
Tempo ramps - show grid when dragging first meter.
2016-05-27 23:38:11 +10:00
nick_m
b47bb55226
Tempo ramps - improve music-locked meter drags, improve dump().
...
- dump now shows cross-calculation of tempo positions.
2016-05-27 23:38:11 +10:00
nick_m
a58f862640
Tempo ramps - fix constant tempos (again).
2016-05-27 23:38:11 +10:00
nick_m
9def5caeaf
Tempo ramps - code cleanup
2016-05-27 23:38:11 +10:00
nick_m
f16089ba88
Tempo ramps - allow moving the first meter if audio locked.
...
- strangely broken wrt the grid, but kind-of works.
2016-05-27 23:38:11 +10:00
nick_m
17a6cda89a
Tempo ramps - fix incorrect handling of unsloveable maps.
2016-05-27 23:38:11 +10:00
nick_m
b415b59f79
Tempo ramps - respect tempo note type and meter note divisor correctly.
...
- tempo and meter position is now pulse-based,
although meter still has a beat for convenience.
2016-05-27 23:38:11 +10:00
nick_m
a47359c382
Tempo ramps - fix erroneous tempo_at_frame(), use correct type for offsets.
2016-05-27 23:38:11 +10:00
nick_m
d3c24fe0ca
Tempo ramps - midi notes resize when dragged, misc bug fixes.
2016-05-27 23:38:11 +10:00
nick_m
8fce08610a
Tempo ramps - snap uses audio-locked meter offsets.
...
- fixes much of the fallout from the previous commit.
2016-05-27 23:38:11 +10:00
nick_m
ec791c8dd4
Tempo ramps - hook up tempo display, a new approach to audio-locked meters
...
- audio locked meters define an offset which is used for all public
TempoMap methods while the internal map remains contiguous.
Probably a few unexpected consequences here, but seems to work mostly.
2016-05-27 23:38:11 +10:00
nick_m
3a2ff0a4a7
Tempo ramps - new (old) map solving strategy.
2016-05-27 23:38:11 +10:00
nick_m
7e408b38d8
Tempo ramps - comment out debugging
2016-05-27 23:38:11 +10:00
nick_m
acf7c2592a
Tempo ramps -consolidate code, add precision check for tempo metrics.
2016-05-27 23:38:11 +10:00
nick_m
4d9b6a4ced
Tempo ramps - fix various thinkos.
2016-05-27 23:38:11 +10:00
nick_m
278ad73259
Tempo ramps - check for impossible locations tempo dialog bbt entry. reorganise code.
2016-05-27 23:38:11 +10:00
nick_m
36ec551a8a
Tempo ramps - fix music-locked meter drags.
2016-05-27 23:38:11 +10:00
nick_m
eeb20bc392
Tempo ramps - grid now follows dragging meter section.
2016-05-27 23:38:11 +10:00
nick_m
a0558694df
Tempo ramps - audio-locked meters have a bbt of 1|1|0
...
- possibly lots going wrong with this due to multiple occurences
of 1|1|0.
2016-05-27 23:38:11 +10:00
nick_m
6ecef52d76
Tempo ramps - meter sections drag again.
2016-05-27 23:38:11 +10:00
nick_m
b4f0695780
Tempo ramps - comment and tidy.
2016-05-27 23:38:11 +10:00
nick_m
989089a4e9
Tempo ramps - add method to handle beat-based tempo reordering. clean code.
2016-05-27 23:38:11 +10:00
nick_m
aa95ffbc97
Tempo ramps - change some prototypes, rename some methods.
2016-05-27 23:38:11 +10:00
nick_m
96b511e221
Tempo ramps - fix ordering glitches when dragging tempos.
2016-05-27 23:38:11 +10:00
nick_m
9a766c56f9
Tempo ramps - fix comments.
2016-05-27 23:38:11 +10:00
nick_m
8225d7cc6f
Tempo ramps - fix constant tempo thinko.
2016-05-27 23:38:11 +10:00
nick_m
7493a27a1f
Tempo ramps - fix return of constant tempo, experimentally use _at_tempo() methods.
2016-05-27 23:38:11 +10:00
nick_m
452e484faf
Tempo ramps - rework mouse dragging of tempo marks, derive beat_at_tempo() and tempo_at_beat().
2016-05-27 23:38:11 +10:00
nick_m
38df1063d3
Tempo ramps - re-enabe audio-locked meter sections, fix more locking errors.
2016-05-27 23:38:10 +10:00
nick_m
77abc08d6f
Tempo ramps - fix crash-causing locking errors. clean up code a bit.
2016-05-27 23:38:10 +10:00
nick_m
474784c8ba
Tempo ramps - setting bbt of an audio-locked tempo marker in the tempo dialog works.
2016-05-27 23:38:10 +10:00
nick_m
0f81899280
Tempo ramps - fixes bbt wrt frame-locked tempo sections in the tempo dialog
2016-05-27 23:38:10 +10:00
nick_m
c4fe85dd7c
Tempo ramps - fix thinko
2016-05-27 23:38:10 +10:00
nick_m
b8b6d562a4
Tempo ramps - restore bbt settings in tempo dialog for audio-locked tempo markers
...
- see comments
2016-05-27 23:38:10 +10:00
nick_m
c98e008745
Tempo ramps - code cleanup
...
- what was i thinking?
2016-05-27 23:38:10 +10:00
nick_m
6d6ccaa839
Tempo ramps - all public TempoSection position parameters are session-relative.
2016-05-27 23:38:10 +10:00
nick_m
c7ff67004a
Tempo ramps - fix messed up meter section state, audio-locked tempos ignore the bbt setting in the tempo dialog for now.
2016-05-27 23:38:10 +10:00
nick_m
d7ec204bf6
Tempo ramps - comment new meter section behaviour.
2016-05-27 23:38:10 +10:00
nick_m
0660705fdc
Tempo ramps - fix changing to constant tempo
2016-05-27 23:38:10 +10:00
nick_m
bc42dea451
Tempo ramps - first stab at metric marks locked to frames or beats.
...
- pretty much untested.
2016-05-27 23:38:10 +10:00
nick_m
d8549c6ff5
Tempo ramps - demystify comments a bit.
2016-05-27 23:38:10 +10:00
nick_m
895bbbba11
Tempo ramps - minor optimisation and comment clarification.
2016-05-27 23:38:10 +10:00
nick_m
28127b1768
Tempo ramps - Remove the tick walk, store c_func, document the approach.
2016-05-27 23:38:10 +10:00
nick_m
f72eef1651
Tempo ramps - use consistent naming for _locked methods, use enum_2_string for TempoSection::Type.
2016-05-27 23:38:10 +10:00
nick_m
36f04367df
Tempo ramps - fix crazy compilable namespace thinko
2016-05-27 23:38:10 +10:00
nick_m
d14c660261
Tempo ramps - fix save/restore of region position_lock_style.
2016-05-27 23:38:10 +10:00
nick_m
87d49cd6ec
Tempo ramps - api rename, fix various meter and tempo dialog bugs.
2016-05-27 23:38:10 +10:00
nick_m
885f1fd684
Tempo ramps - update midi regions and locations when dragging tempo.
...
- also make locations and regions use a double beat rather than bbt for musical position.
2016-05-27 23:38:10 +10:00
nick_m
772683d2df
Tempo ramps - improve the performance of recompute_map().
2016-05-27 23:38:10 +10:00
nick_m
2f5b6b6b85
Tempo ramps - clean up TempoSection, fix thinko in position function.
2016-05-27 23:38:10 +10:00
nick_m
70cb8719df
Tempo ramps - replace ugly bootstrapping code in TempoMap::frame_time() with new api.
...
- also fix some type confusion.
2016-05-27 23:38:10 +10:00
nick_m
458036b894
Tempo ramps - meter sections work again.
...
- also fix *some* of the more hackish code in this branch.
2016-05-27 23:38:10 +10:00
nick_m
5c6e18e6a0
Tempo ramps - remove the concept of bars from tempo sections.
...
- this helps where tempo and meter have a somewhat circular
dependency.
MetricSection now has a musical position expressed in beats (a double).
MeterSection still has a bbt, but it really isn't needed as we have
enough information to discover the number of bars at a given beat without it.
TempoSection now has a hack to enable loading of legacy sessions, which will
ultimately be a lot cleaner than the current code.
Removing bars from tempo sections also allows us to place them
at arbitrary frames (implemented here).
2016-05-27 23:38:09 +10:00
nick_m
41c8b534b7
Tempo ramps - amend previous commit.
2016-05-27 23:38:09 +10:00
nick_m
8d007e8a77
Tempo ramps - fix many problems wrt dragging tempos over each other.
...
- also preparation for metric lock style and meter bug fix.
2016-05-27 23:38:09 +10:00
nick_m
feece53838
Tempo ramps - fix odd display when dragging one tempo past another.
...
- also preparations for removal of beat limitation on tempos
- some code clean ing
2016-05-27 23:38:09 +10:00
nick_m
ba0cfe81a4
Tempo ramps - massively speed up dragging of tempo marks.
2016-05-27 23:38:09 +10:00
nick_m
db77ca99a1
Tempo ramps - don't use methods we don't need to use.
...
- more room for improvement here
2016-05-27 23:38:09 +10:00
nick_m
340bd42c62
Tempo ramps - allow live updating of tempo markers.
...
- all a bit slow, but should be ok once we can lock
markers to frames.
2016-05-27 23:38:09 +10:00
nick_m
7898435d3f
Tempo ramps - define_one_bar() delivers constant tempo.
...
- also some renaming and code review
2016-05-27 23:38:09 +10:00
nick_m
9eeccf0c17
Tempo ramps - port audio unit and midi clock slave.
...
- untested.
2016-05-27 23:38:09 +10:00
nick_m
2d649ceac1
Tempo ramps - get tests to comile again.
2016-05-27 23:38:09 +10:00
nick_m
af07762f98
Tempo ramps - play nicely with legacy sessions.
2016-05-27 23:38:09 +10:00
nick_m
6dac0e0f14
Fis inability to make the first tempo section constant tempo.
2016-05-27 23:38:09 +10:00
nick_m
dbfe991cd8
Tempo ramps - fix changing from const to ramp in the gui.
...
- also fixes some midi mouse over problems
- start using replacements for frames_per_bar() frames_per_beat() etc.
2016-05-27 23:38:09 +10:00
nick_m
0d0e458dde
tempo ramps - fix dumb iterator error. thanks robin.
2016-05-27 23:38:09 +10:00
nick_m
6cb752dc15
Tempo ramps - locking debugging.
2016-05-27 23:38:09 +10:00
nick_m
7fc3b0c34c
Initial stab at tempo ramps.
...
Replaces the list of points in TempoMap with TempoSection functions, which
compute tempo-at or tick-at time relative to tempo section start.
TempoMap consults them additively to determine things like bbt_time(),
frame_time() get_grid() etc.
This has a marked effect on scrolling speed along with the code simplification
in the places it has been attempted.
Several things are broken here.
Currently every ramp except the last one is an exponential ramp. this may
be simple to fix :).
Mouse-over midi grid doesn't match mouse click grid. should also be simple.
Many things seem to work, but their accuracy should be in question until
each area has been addressed.
2016-05-27 23:38:09 +10:00
94187e66a2
add a test-sequence for polyphonic pressure
2016-05-27 12:12:00 +02:00
56471fd352
ensure that amp/fader is present on every route
2016-05-26 15:42:33 +02:00
00967a1982
take read-lock when saving processor order
2016-05-26 15:05:06 +02:00
eadc2ca88a
fix maths thinko
2016-05-26 10:44:13 +02:00
602344f0c5
ticks are not affected by metrum
2016-05-26 02:22:10 +02:00
d6d5903a24
fix Audio Unit BBT
2016-05-26 02:20:32 +02:00
cf6f9627e4
update VST audioMasterGetTime
...
* don't use a static struct. this fixes a concurrency issue with flags
and valid values
* send kVstTransportChanged IFF there is an actual change
* set system time
* send loop location
2016-05-26 01:04:43 +02:00
1d48648a73
fix timecode update after locate.
...
Various session rt-events set "_send_timecode_update" to true,
but at the same time queue post-transport-work.
The timecode-update is generated, but due to pending transport work
session->silent() is true and the timecode was never sent.
2016-05-25 19:20:09 +02:00
6c502b8315
allow to configure transient detection sensitivity
...
NB. this does not yet re-analyze regions when the config changes
and is hence also not [yet] exposed in the GUI.
2016-05-25 17:52:50 +02:00
5550eebe2f
fix MTC alignment
2016-05-25 17:13:09 +02:00
f34722bf49
treat different normalization settings as different formats
2016-05-25 14:24:13 +02:00
80cc70966c
missing local export config is not an error
2016-05-25 13:56:11 +02:00
cab6ae7137
backend check for rec-safe (only allow to lock if not armed)
2016-05-24 21:31:10 +02:00
a525055ce0
additional in-place check
2016-05-24 18:04:29 +02:00
1f17784ac5
fix potential undefined DnD behavior for external drags
...
dragging from the tree-view (e.g. favorite sidebar or plugin-manager)
will not set _drag_source.
drag-motion may wrongly interpret it as "re-order".
2016-05-24 17:58:24 +02:00
7aa85887da
more inter-thread progress fixes; slight change of semantics:
...
Background thread now *must* set "done" as last step. (they already do
since various error conditions don't result in "done")
This fixes a race: background thread Session::write_one_track() sets "done"
to true. Editor::freeze_route () continues, sets current_interthread_info
to NULL. thread continues and tries to set current_interthread_info.done
before terminating -> Crash.
This also ensures that singleton threads created with
"pthread_create_and_store" remain unique.
2016-05-24 03:33:08 +02:00
207d9c81db
some more route related lua bindings
2016-05-23 21:55:49 +02:00
2b53558e66
remove misspelled unused define
2016-05-23 02:29:55 +02:00
afc1186759
NO-OP indent
2016-05-22 19:36:54 +02:00
39ba60aaef
Make sure MSVC knows which version of 'floor()' we want
2016-05-22 15:53:16 +01:00
9ad096b611
Dummy Backend evolution
...
- pretty port-names for Dummy generators: show frequency
- add 1/3 Octave spaced sine-wave generator
2016-05-21 22:38:39 +02:00
489cef0913
Revert "debug unconfiged plugins"
...
This reverts commit 125e2014aa
.
2016-05-21 17:54:34 +02:00
eb35ba1d95
fix assert/crash if unknown processor's I/O mismatches
...
This can happen on OS X. Audio Units did not have
a MIDI bypass. Ardour adds an implicit bypass and existing
"unknown/missing" plugins after the instrument will see
a different i/o config.
2016-05-21 17:54:13 +02:00
742ebe9975
const'ness -- just because
2016-05-21 16:24:30 +02:00
298abc5c8c
"biquadratic" needs no camelcase - fixes API doc.
2016-05-21 16:23:35 +02:00
50d6f146f4
allow lua to access array at an offset
2016-05-21 15:55:14 +02:00
53c188beb3
keep DSP state variables finite.
2016-05-21 15:55:14 +02:00
b0200b23f2
Accommodate the fact that 'msvc_resources.rc.in' got moved to a new path
2016-05-21 10:33:18 +01:00
331d9f7154
live signal analysis is for the processor -- not the plugin(s) inside
2016-05-21 00:01:11 +02:00
d7e590f9c8
add lua DSP transfer function calculation
2016-05-20 23:14:51 +02:00
125e2014aa
debug unconfiged plugins
2016-05-20 17:34:37 +02:00
77f3518571
add midi-bypass to re-configurable-i/o instruments
2016-05-19 16:29:23 +02:00
eda4662e15
fix lua instrument plugins
2016-05-19 16:29:20 +02:00
b4d4cb805e
prepare plugin configuration and replacing instruments
2016-05-19 16:29:08 +02:00
f0fd7890a1
move "needs output port selector" (from pin-dialog) to backend
2016-05-19 01:46:11 +02:00
7e463bab6e
consolidate add_processor code
...
* fixes drag/copy'ing sidechain sends (autodestruct)
* reduce duplicated code
* prepare for instrument replacement
2016-05-19 01:44:44 +02:00
69d644e979
add locale guards for export format
2016-05-18 17:35:52 +02:00
283376db4c
bypass plugin(s) - not processor (plugin-insert keeps mapping)
2016-05-18 17:35:38 +02:00
524fb8df49
downgrade failed history/undo stack to info message
2016-05-17 18:18:34 +02:00
742e113a7b
backport canvas color functions from Mixbus
2016-05-17 18:17:51 +02:00
e610916c26
updated .de translation from edogawa
2016-05-16 10:36:33 -04:00
69ef55132d
updated .de translation from edogawa
2016-05-16 10:36:33 -04:00
fe74c587f3
add some location and transport related lua bindings
2016-05-14 23:54:04 +02:00
83d5d1e625
whitelist libardour bindings as rt-safe for session-scripts
2016-05-14 23:53:19 +02:00
3060b7bbc4
upper parameter limit is inclusive.
2016-05-14 16:14:45 +02:00
d10947d488
Modify the MSVC project for ptformat (which now needs to link to libglib)
2016-05-14 11:19:43 +01:00
963f43a146
libptfformat: use g_fopen() to avoid i18n errors with file paths/names
2016-05-10 18:24:46 -04:00
c23be46c15
use g_fopen() to avoid i18n errors with file paths/names
2016-05-10 15:55:45 -04:00
d53d9b01ab
prepare route pin display (shared mixer + editor-mixer window proxy)
2016-05-10 20:54:11 +02:00
4963d65206
track geometry via configure events for tabbable own-windows
2016-05-10 09:46:12 -04:00
ae7cc64377
copy-n-paste the ARDOUR_UI toggle-roll code into BasicUI (for Faderport and others)
2016-05-09 08:17:23 -04:00
914eee9f8c
Accommodate newly introduced source(s) in our MSVC project (libardour)
2016-05-08 11:56:51 +01:00
672528baf4
fix shared_ptr<Route> management in Mackie support so that deleted routes are destroyed
2016-05-07 13:36:04 -04:00
a232673454
make boost shared_ptr debugging a little easier to turn on/off
2016-05-07 13:36:04 -04:00
e59ab55831
a few strategic LocaleGuards..
...
..to prevent switching forth and back during individual
::state(), ::set_state() when loading/saving the session or locating.
2016-05-07 17:16:59 +02:00
2066afe28c
fix LV2 locale guard (missed in 6d343ba
search/replace)
2016-05-07 15:38:17 +02:00
a6e4494482
Revert "Add a global state localeguard (and one for route templates)"
...
This reverts commit 2b7a047e92
.
2016-05-07 12:20:40 +02:00
6d343ba3c6
fix LocaleGuard contstructor ( 3dc77280
)
2016-05-07 12:19:41 +02:00
f445ba8bdc
locale debugging
2016-05-07 12:15:12 +02:00
3d7cbe9d94
trying to get to the bottom of the decimal comma.
2016-05-07 01:22:32 +02:00
2b7a047e92
Add a global state localeguard (and one for route templates)
2016-05-07 01:11:28 +02:00
86c76656cc
add a locale-guard to panner state
2016-05-07 01:06:20 +02:00
d8ac5eddf7
add missing include
2016-05-06 21:25:21 +02:00
514da9881d
convert WinMME Device names to UTF-8
2016-05-06 20:59:24 +02:00
70160db4be
allow lua to construct PresetRecords
2016-05-06 16:02:24 +02:00
766a120a3c
add API to load Instrument Preset when creating a Midi track
2016-05-06 16:02:04 +02:00
864f9e497d
DnDTreeview: allow to handle multiple drag-targets
2016-05-06 14:51:29 +02:00
7fed1ce085
what an oversight!
2016-05-05 23:44:33 +02:00
3dc7728038
we always only use the "C" locale when saving.
2016-05-05 21:49:56 +02:00
2624c0966b
remove assert()s from LocaleGuard
2016-05-05 20:29:28 +02:00
bb99df867f
minor comment change
2016-05-05 14:21:55 -04:00
25603d810f
spelling fixes and an explanatory comment
2016-05-05 14:21:02 -04:00
f2c5522f0f
rework locale-guard for C and C++ locales
...
let's hope querying the C-locale is more lightweight than setting it
on windows.
2016-05-05 20:02:48 +02:00
a644212506
no need to force a change here.
...
Fixes an issue with Mixbus where set_active() is a NO-OP for mixbusses.
2016-05-05 18:33:50 +02:00
17ace643e4
OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)
2016-05-04 23:09:45 -04:00
ffc9901807
fix "warning: this decimal constant is unsigned only in ISO C90"
2016-05-05 01:28:17 +02:00
8882ef79d3
use existing API to find the instrument
2016-05-04 17:52:17 +02:00
6236c201bd
NO-OP, whitespace
2016-05-04 12:57:30 +02:00
e48da9d5d0
tweak cases where pin-mapping is reset & always sanitize map
2016-05-03 20:12:58 +02:00
dc1a2fbca7
MSVC won't compile 'const float _demolition[]' because it uses 'divide by zero' while initializing
...
Hopefully we can use INFINITY and NAN for the relevant initializers ?
2016-05-03 17:30:58 +01:00
a12288d9b5
Accommodate newly introduced source(s) in our MSVC project (audiographer)
2016-05-03 17:26:41 +01:00
ad4fe51255
handle single-bus, non-variable i/o Audio Units w/multiple configurations.
2016-05-03 18:17:29 +02:00
4c40fe8d04
another (non critical) concurrency issue:
...
Ignore latency-updates while removing tracks.
remove_tracks() calls disconnect_all() which can trigger the backend
to perform a latency-recompute in a different thread (process thread).
That calls Session::update_latency() which iterates over all routes
including the one(s) to be deleted.
At the same time disconnect_all() may propagate Port::PostDisconnect()
leading to a lock contention.
(no crash just a lot of unnecessary work. remove_routes() calls
update_latency_compensation() which triggers a recompute if needed)
2016-05-03 14:27:52 +02:00
255b5174c4
add a const method to check for existing key/value properties
...
handy to lookup up XMLNodes with "id" == ID w/o allocating memory.
2016-05-03 03:03:00 +02:00
42e2cc0976
use same tooltip timeout throughout Ardour -- part one
2016-05-02 20:24:46 +02:00
d01cb7910f
Add loudness normalization to Export Format & Graph
2016-05-02 15:44:13 +02:00
7547f02c07
prepare loudness normalization
2016-05-02 15:44:13 +02:00
9d50074a99
fix aubio-onset detection parameters
2016-05-01 18:47:14 +02:00
e6b95a3d65
fix a Wsigncompare and 2 -Wuninitialized
2016-05-01 13:35:30 +02:00
4727fa337d
fix: gcc4.2 / PPC compilation
...
no match for 'operator!=' in 'x != std::list<_Tp, _Alloc>::rend()
[with _Tp = long long int, _Alloc = std::allocator<long long int>]()'
2016-05-01 13:20:53 +02:00
82d1d7ef0b
various transient-detection fixes (split region, trim, move, undo,..)
...
* all API calls use session-time (allow region-lists)
* per-region transients are separated in
- Onset (Rhythm Rodent, Aubio)
- User-added
- internal/source (QM), used as fallback for next/prev (read-only)
2016-05-01 02:02:04 +02:00
791ac8f843
API call to be removed
2016-05-01 00:28:54 +02:00
8b52b69810
make BasicUI (for control surfaces) loop toggle work like the GUI
2016-04-30 10:54:40 -04:00
6d49e24503
implement lua plugin presets
2016-04-29 18:34:27 +02:00
69bd02bd25
remove skeleton backend (superseded by portaudio)
2016-04-29 16:43:09 +02:00
69f99ee184
I wanna be nasty, I wanna be cruel,..
...
Somme disastrous signal generators for QA.
2016-04-29 16:10:09 +02:00
e56c8f0309
don't special case lua processors, use plugin-manager
2016-04-29 02:57:42 +02:00
17d782829e
flush pending Session Events at session close
...
This prevents a memory leak: The session is closed.
The session-butler drops memory pool trash. The Engine keeps running.
Once the AudioEngine is taken down (sample-rate switch, or at exit),
the backend process-thread is terminated but there is no trash-can anymore.
If there are unprocessed SessionEvents, this calls
free_per_thread_pool() -> cp->parent()->add_to_trash (cp).
"parent()" in this case the trash-can the butler emptied.
2016-04-28 21:37:18 +02:00
633f218911
fix a deadlock with jack2 when inserting a plugin adds ports.
...
When adding a processor, the processor may add ports leading to
a call to jack_port_register(). while Ardour holds a WritertLock on the
processor-list (this commit removes this WriterLock).
with jack2 that results in a graph-reorder callback (WHY?)
jack2 issues that graph-reorder in a separate thread BUT
port-registration does not return until the graph-reorder is complete.
On Ardour's side, graph_reordered() calls Session::resort_routes ()
which eventually checks Route::direct_feeds_according_to_reality()
which needs a ReadLock on the processor-list to check I/O.
Since jack_port_register() does not return, this constitutes a deadlock.
THE ACTUAL PROBLEM IS JACK2's THREAD DESIGN!
Why does jack_port_register() trigger a graph-order in jack2?
No connections are made.
..and why does it block jack_port_register() from returning if
that graph-order callback is in a different thread?
http://pastebin.com/DZANXJLz
2016-04-28 21:15:26 +02:00
d81547efb4
add a debug message for LV2 per port buffer allocation
2016-04-28 12:27:53 +02:00
b961c1d8f2
another attempt to use platform-specific path for the default VST path
2016-04-27 17:39:38 -05:00
370b507d45
amend c1c81a239c
after testing
2016-04-27 23:52:34 +02:00
c30b47f0eb
allow to customize variable i/o plugin inputs
2016-04-27 23:34:55 +02:00
b191408f98
fix default 64bit Windows VST path ( untested )
2016-04-27 14:56:19 -05:00
c1c81a239c
probable fix for 64bit VST signal latency
2016-04-27 21:45:00 +02:00
4a226385b6
OSC: Fix Solo to work with both SIP and Listen.
2016-04-27 09:06:46 -07:00
4005ef9db6
tweak LV2 atom buffer allocation strategy
...
Allow to re-use Midi buffers for GUI communication. Honor
resize-port extension for all Atom Sequence buffers.
(following example of http://lv2plug.in/book/#_sampler )
2016-04-27 14:46:24 +02:00
9634888bf3
add the concept of a "state mask" that determines what info a WindowProxy will save
2016-04-27 00:03:14 -04:00
559860f016
make -D VSTCallbacks readable
2016-04-27 01:44:55 +02:00
da26a55b31
canvas tooltips, too
2016-04-27 01:24:37 +02:00
49e5494907
also hide persistent tooltips
...
debatable, since most of them are not "help/tool info" but rather
"current value display".
Then again tooltip is tooltip and can be annoying or not wanted.
2016-04-27 01:07:53 +02:00
cda5b48b96
initialize output data ports for cases where the plugin is not run
...
(e.g. load session with inactive track, or instantiate an audio plugin
on a midi track before the synth)
2016-04-26 22:21:00 +02:00
4b8bc84e4a
let GMainContext clean up after us.
...
this fixes a potential crash in
AsyncMIDIPort::~AsyncMIDIPort() -> CrossThreadChannel::~CrossThreadChannel()
2016-04-26 19:45:06 +02:00
43e620504a
port 93eac8b0
to ALSA and CoreAudio
2016-04-26 18:19:48 +02:00
59f7df38a2
allow to duplicate tracks with sends or load templates with sends/inserts
2016-04-26 18:16:14 +02:00
5227f57f2e
implement missing PortManager methods and lua-bind them
2016-04-26 18:16:14 +02:00
7f8c7d8647
#define HAVE_JACK_PORT_RENAME when building with MSVC
...
This means needing to build against libjack v1.9.11 (or later) although that's probably not a bad thing.
2016-04-26 15:02:20 +01:00
93eac8b068
Use 'const_iterator' to prevent MSVC from complaining
2016-04-26 14:58:16 +01:00
01286b442e
don't show engine dialog when loading a session..
...
..and the engine is running at the desired samplerate
2016-04-26 12:56:52 +02:00
7cbc6cf8a2
styleguide #10
...
sigc keeps a reference to the shared_ptr, AsyncMidiPorts were never
unregistered, causing issues when loading a new session w/o Engine
restart.
2016-04-26 04:02:58 +02:00
2169de3975
keep portmap & portindex in sync when renaming ports
...
Fixes crash on session re-load (introduced in 800c8182
and fde99e68
)
2016-04-26 02:26:20 +02:00
11a69068af
PortManager lua bindings (to debug lingering ports)
2016-04-26 02:21:09 +02:00
4f3f966276
update [lua bindings] documentation
2016-04-25 13:06:40 +02:00
f4f9963cdd
add missing header for luadoc
2016-04-25 02:35:45 +02:00
fde99e68f7
..and CoreAudio.
2016-04-24 20:45:50 +02:00
800c8182c6
O(log(n)) port and connection lookup for ALSA
2016-04-24 20:45:37 +02:00
ce052ba20a
now with C++98 compat
2016-04-24 18:34:31 +02:00
a3856d44b2
delayline: use boost::shared_array
2016-04-24 18:26:39 +02:00
d1874d4685
optimize port lookup, adding/removing/reconnecting routes
...
xxxAudioBackend::connected_to() is called O(N^2) when building the graph.
Mitigate this by using an O(log(N)) lookup.
This duplicates the storage (both set and map and both are kept in sync.
Changing this to a boost:bidirectional might be nice, before updating
other backends.
2016-04-24 18:26:39 +02:00
1321701189
reduce debug-build overhead.
2016-04-24 18:26:39 +02:00
36a928f0ae
we need the process lock after all..
2016-04-24 18:26:39 +02:00
f80c0faa24
some new lua-bindings and session-lua (creating sessions)
2016-04-24 14:43:18 +02:00
667a4aafb5
fix mismatched delete/delete[]
2016-04-24 14:43:18 +02:00
f6a621346c
some notes on mem-leaks...
2016-04-24 14:43:18 +02:00
e3536fbefe
hand over automationlist undo state ownership (mem-leak)
2016-04-24 14:43:18 +02:00
e3607a4c8b
plug some memory leaks in libardour
2016-04-24 14:43:18 +02:00
4fe7d1ea08
further tweaks to session close
2016-04-24 02:53:01 +02:00
f317451609
lua bindings for track/bus and session creation
2016-04-24 00:25:34 +02:00
f8936ebcb1
Disconnect Signals before dropping ports
...
significantly speeds up session close
2016-04-24 00:24:43 +02:00
2a7a64a873
delegate port-connections to low priority thread.
...
This prevents a deadlock with (some versions) jack:
* add new instrument track with instrument
* configure processors (takes processor lock)
* add I/Os (delivery) -> create ports
* auto-connect ports
* jack port-connect -> jack graph re-order
* Ardour graph-re-order
* needs processor lock (to check sends)
2016-04-23 22:11:48 +02:00
e4b2b6477f
fix typo in config variable
2016-04-23 00:01:28 +02:00
f719dcbd43
fix send-id "0" when loading session
...
Send::set_state() unsets the current send-id before setting
the new one, but by default _bitset defaults to zero.
This may lead to unset an existing send "0"
2016-04-22 23:36:41 +02:00
5c41043a2d
fix single-bus AU rendering & related updates
2016-04-22 22:04:48 +02:00