Commit graph

23496 commits

Author SHA1 Message Date
Robin Gareus
9a46d593cb a-fluidsynth process events even when no sf2 is loaded.
Keep track of program-changes, re-apply Bank/PGM once the
soundfont is loaded. fluidsynth itself keeps track of CCs.
2016-12-07 19:48:52 +01:00
Robin Gareus
bb30d92814 amend 581c7b6 -Wparentheses 2016-12-07 19:47:29 +01:00
Robin Gareus
295562dd52 Save/Restore MIDI Automation Controls (current CC, PGM) 2016-12-07 19:47:04 +01:00
Robin Gareus
d766095732 Further tweaks to EngineDialog z-axis stacking
When there's no main window (initial setup, no transient parent),
preset a normal window listed in the task-bar.

The duality the Engine Dialog being used as Ardour-WM managed non-modal
Window (Menu > A/M Setup) and modal Dialog (AudioEngineSetupRequired)
complicates this a bit.
2016-12-07 14:50:17 +01:00
Robin Gareus
581c7b6b10 Speed up unloading large sessions. 2016-12-07 12:50:35 +01:00
Robin Gareus
fe45f9bc21 Set MidiPgmChangeAutomation control value 2016-12-07 12:45:01 +01:00
Robin Gareus
28ab1f1f74 Add Lua bindings to inspect MidiTrack::MidiControl 2016-12-07 11:30:40 +01:00
Robin Gareus
f521bdb9dc Fix another crash at exit. 2016-12-07 01:58:58 +01:00
Robin Gareus
22ff03ff60 fix copy/paste typo in prev. commit 2016-12-07 01:06:22 +01:00
Robin Gareus
b14ece32c2 Work around silence-trim config 0dBFS (7b1f97bf) 2016-12-07 01:03:46 +01:00
Robin Gareus
230fa064b2 Revert "Fix export silence threshold by using a constant value for now"
This reverts commit 6784923a05.
2016-12-07 00:56:14 +01:00
Robin Gareus
7b1f97bffa fix parsing "-inf" in config variables
The default for export-silence-threshold is -INFINITY, written
as "-inf" (by cfgtool) into system_config. Yet parsing the config using
a std::stringstream results in "0" (due to bugs in various libc++).
2016-12-07 00:50:00 +01:00
Robin Gareus
6ce9efb11d Don't assume patch-banks are populated. 2016-12-06 22:56:04 +01:00
Robin Gareus
1ef1734e76 Allow sparse CC lists. 2016-12-06 22:56:04 +01:00
Robin Gareus
2d37392f1a a-fluid synth: label Reverb & Chorus sends.
Also globally enable Reverb + Chorus FX (so that sends work by default)
2016-12-06 22:56:04 +01:00
Ben Loftis
6e2dfe65bf create_drum_tracks lua script by Phillip Smith 2016-12-06 15:34:08 -06:00
Ben Loftis
fb257f1ed1 add_filters lua script by Phillip Smith 2016-12-06 15:34:08 -06:00
Robin Gareus
ac814d32d1 Allow to send Immediate Patch Changes 2016-12-06 18:48:36 +01:00
Robin Gareus
f26ed23fd9 a-fluid synth: list all bank/programs 2016-12-06 17:00:12 +01:00
Robin Gareus
9c20892c27 Turn a-fluidsynth into C++ 2016-12-06 17:00:12 +01:00
Robin Gareus
8d8132aa3c rough-in a-fluid synth midnam support 2016-12-06 17:00:12 +01:00
Julien ROGER
0356d64195 Fix #6753
Fix "Illegal instruction" due to recursive acquisition/multi release on a RWLock

See #6753 notes
2016-12-06 22:41:25 +10:00
Julien ROGER
c5cda446e0 Fix crash when track creation failed draging region
Add more check when creating a new track from a region drag into editor's empty area.

Fix #6496
2016-12-06 22:23:29 +10:00
Tim Mayberry
4985f0d7ae Include last sample in reverse test for nonsilence in end trim during export 2016-12-06 20:55:17 +10:00
Tim Mayberry
6b8cadef01 Don't move the Range Selection after performing Multi Duplicate
This is necessary for a single Duplicate so you can keep duplicating but it
doesn't make sense to move it for Multi Duplicate.
2016-12-06 14:06:18 +10:00
Tim Mayberry
b7bee5c903 Fix Multi Duplicate for a Range Selections
As mentioned in the previous commit
2016-12-06 14:06:18 +10:00
Tim Mayberry
a7d19f8fe5 Rename Duplicate Range action to Duplicate and assign existing Alt+d key binding
This will work the same as the existing binding with a Region Selection and
will also duplicate ranges in range selection mode.

Also add multi-duplicate editor action and use that for the default
multi-duplicate action, which will work the same in Object Selection/Grab Mode
but also supports Multi Duplicate of Range Selections....well it would if
that functionality worked correctly.

The duplicate and duplicate-multi region actions still have to exist to be used
in the Region menu as they should only be sensitive if there is a Region
selection which would not be the case if the editor actions were used.

Resolves: #7153
2016-12-06 14:05:07 +10:00
Tim Mayberry
bd52d4e328 Fix issues in export with trim enabled
A complete reimplementation of AudioGrapher::SilentTrimmer::process to support
trimming the beginning and end in the same processing block

Fix export with trim end enabled to actually trim silent frames

Only add silence to beginning or end of export data if data was written

Should resolve: #6412
2016-12-06 13:44:19 +10:00
Tim Mayberry
568cf861f9 Rename AudioGrapher::SilentTrimmer method to reflect behaviour
Unlike many of the other uses of the term "frame" this is actually returning
the index to the first sample in the interleaved frame that contains
non-silence.
2016-12-06 13:43:10 +10:00
Tim Mayberry
2c67e71e98 Always signal writing to file is complete at end of the export process
With end trim enabled, the only case that would successfully export was if
there was at least some samples above the silence threshold in the last export
processing block.

The issue was that the EndOfInput flag was not being passed to
AudioGrapher::SndFileWriter::process which would then call sf_write_sync and
emit the FileWritten signal to start post processing. Fix that by always
passing the EndOfInput flag in the last export process cycle.

Related: #6412
2016-12-06 13:43:09 +10:00
Tim Mayberry
6784923a05 Fix export silence threshold by using a constant value for now
All float values defined in the CONFIG_VARIABLE macro seem like they are cast
to at some stage before writing (another issue that needs addressing). The
default value for export-silence-threshold (-INFINITY) is converted to a value
of 0 and as a result nothing is exported with trim enabled.

Use the same fixed silence threshold as Mixbus until proper bounds checking and
GUI is in place.

Related: #6412
2016-12-06 13:41:17 +10:00
Tim Mayberry
9e794af3ea Add script to run audiographer tests 2016-12-06 13:20:54 +10:00
Robin Gareus
62672fa259 add another useful PluginInsert binding 2016-12-06 00:22:24 +01:00
Robin Gareus
a2166a28de Prevent endless recursion on Evoral::Event<> 2016-12-05 23:49:19 +01:00
Robin Gareus
ed5a46d214 Fixup 08fffef (consistent class name) 2016-12-05 23:49:19 +01:00
Robin Gareus
7f9befae2d Add Lua bindings to manage Groups 2016-12-05 23:49:19 +01:00
Ben Loftis
d64646a2ca fader-to-trim lua script by Phillip Smith 2016-12-05 09:48:35 -06:00
Robin Gareus
3cc644b467 set AtomObject body ID to zero (as per spec when unused) 2016-12-05 15:43:54 +01:00
Robin Gareus
359a0eb830 Fix theme names (dash is used to separate program-name) 2016-12-05 12:16:49 +01:00
David Robillard
388765e8ce Remove boost_system test kludge 2016-12-04 19:15:29 -05:00
David Robillard
5ab2e34b2c Update evoral test suite 2016-12-04 18:49:56 -05:00
David Robillard
9a848d5ba6 Fix configuration 2016-12-04 18:26:30 -05:00
David Robillard
1438191938 Improve coverage of evoral tests 2016-12-04 15:40:21 -05:00
David Robillard
9dbc524060 Improve coverage of evoral tests 2016-12-04 15:17:08 -05:00
David Robillard
9aac954744 Add missing include 2016-12-04 15:16:08 -05:00
David Robillard
b51321bd7d Make libpbd and evoral capable of standalone build
Just an update to slightly rotten wscripts, shouldn't be any changes during an
ardour build.  Motivation being a short development cycle for working on evoral
and/or its test suite.
2016-12-04 15:15:11 -05:00
David Robillard
4c92d75cbe Always build dummy backend if building tests
The libardour tests require the dummy backend to be present.
2016-12-04 15:13:19 -05:00
David Robillard
7d2ed46b63 Remove dead/annoying/unsafe code
Note the old Note::operator= was unsafe, since it made shallow copies of the on
and off events, which results in a double delete of events when the notes are
destructed.
2016-12-04 15:10:05 -05:00
Robin Gareus
11464bfb18 Skip testing example lua scripts which are not bundled 2016-12-04 17:50:34 +01:00
David Robillard
454df30ae5 Fix Sequence test 2016-12-03 15:49:13 -05:00