13
0
Commit Graph

22960 Commits

Author SHA1 Message Date
b552ed886f Add support for Pango Markup to ArdourButton 2016-12-10 15:54:41 +01:00
6a429cfb7c Consistent ArdourButton sizing for elements with LED 2016-12-10 15:54:37 +01:00
e97404c5de Speed up recent-session display with lots of snapshots.
Given that a session can easily have >100 snapshots and one cannot change
the sample-rate anymore, it's mostly useless to parse them all.
2016-12-08 20:33:26 +01:00
61693a318a Add LIBPBD_API to a function declaration
The new specialisation for ConfigVariable<float>::set_from_string() needs to be exportable (it gets used somehow by ARDOUR::SessionConfiguration).

If adding LIBPBD_API causes a problem for gcc, we could change it to LIBPBD_TEMPLATE_MEMBER_API
2016-12-08 17:29:49 +00:00
3242bbd84c Add some doc/comments to the timecode example script 2016-12-08 15:42:11 +01:00
3fe99b0c7c remove dups. 2016-12-08 15:41:21 +01:00
975f959adb For building with MSVC, std::strtof() didn't get introduced until VS2013
(use std::strtod() in earlier versions)
2016-12-08 13:57:23 +00:00
f04c1ca4db I can't find a source file called MIDIXML.cpp (??) 2016-12-08 13:55:11 +00:00
4992ed1211 Add missing enum bindings 2016-12-08 13:21:00 +01:00
462deb3544 Add timecode example script 2016-12-08 12:45:44 +01:00
61c7af141d Clarify "frames" (video, timecode) vs "samples" (audio) 2016-12-08 12:45:44 +01:00
f05f19bdd4 add Lua bindings for Timecode conversion 2016-12-08 12:45:44 +01:00
3d925ef503 braces, please 2016-12-08 10:49:26 +00:00
e1ca4b2887 Speed up recent session display (for many large sessions)
- don't parse XML into XMLTree
- only read the file, extract relevant elements
- don't read session-template contents, only test file
2016-12-08 10:36:12 +01:00
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
bb30d92814 amend 581c7b6 -Wparentheses 2016-12-07 19:47:29 +01:00
295562dd52 Save/Restore MIDI Automation Controls (current CC, PGM) 2016-12-07 19:47:04 +01:00
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
581c7b6b10 Speed up unloading large sessions. 2016-12-07 12:50:35 +01:00
fe45f9bc21 Set MidiPgmChangeAutomation control value 2016-12-07 12:45:01 +01:00
28ab1f1f74 Add Lua bindings to inspect MidiTrack::MidiControl 2016-12-07 11:30:40 +01:00
f521bdb9dc Fix another crash at exit. 2016-12-07 01:58:58 +01:00
22ff03ff60 fix copy/paste typo in prev. commit 2016-12-07 01:06:22 +01:00
b14ece32c2 Work around silence-trim config 0dBFS (7b1f97bf) 2016-12-07 01:03:46 +01:00
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
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
6ce9efb11d Don't assume patch-banks are populated. 2016-12-06 22:56:04 +01:00
1ef1734e76 Allow sparse CC lists. 2016-12-06 22:56:04 +01:00
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
6e2dfe65bf create_drum_tracks lua script by Phillip Smith 2016-12-06 15:34:08 -06:00
fb257f1ed1 add_filters lua script by Phillip Smith 2016-12-06 15:34:08 -06:00
ac814d32d1 Allow to send Immediate Patch Changes 2016-12-06 18:48:36 +01:00
f26ed23fd9 a-fluid synth: list all bank/programs 2016-12-06 17:00:12 +01:00
9c20892c27 Turn a-fluidsynth into C++ 2016-12-06 17:00:12 +01:00
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
4985f0d7ae Include last sample in reverse test for nonsilence in end trim during export 2016-12-06 20:55:17 +10:00
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
b7bee5c903 Fix Multi Duplicate for a Range Selections
As mentioned in the previous commit
2016-12-06 14:06:18 +10:00
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
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
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
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
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
9e794af3ea Add script to run audiographer tests 2016-12-06 13:20:54 +10:00
62672fa259 add another useful PluginInsert binding 2016-12-06 00:22:24 +01:00
a2166a28de Prevent endless recursion on Evoral::Event<> 2016-12-05 23:49:19 +01:00
ed5a46d214 Fixup 08fffef (consistent class name) 2016-12-05 23:49:19 +01:00
7f9befae2d Add Lua bindings to manage Groups 2016-12-05 23:49:19 +01:00