Commit graph

22962 commits

Author SHA1 Message Date
Robin Gareus
cc6f8cf321 Black selection & punch clock bg 2016-12-10 15:54:52 +01:00
Robin Gareus
1479e2d772 Fix video-monitor "sync-source" changes 2016-12-10 15:54:47 +01:00
Robin Gareus
b552ed886f Add support for Pango Markup to ArdourButton 2016-12-10 15:54:41 +01:00
Robin Gareus
6a429cfb7c Consistent ArdourButton sizing for elements with LED 2016-12-10 15:54:37 +01:00
Robin Gareus
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
John Emmas
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
Robin Gareus
3242bbd84c Add some doc/comments to the timecode example script 2016-12-08 15:42:11 +01:00
Robin Gareus
3fe99b0c7c remove dups. 2016-12-08 15:41:21 +01:00
John Emmas
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
John Emmas
f04c1ca4db I can't find a source file called MIDIXML.cpp (??) 2016-12-08 13:55:11 +00:00
Robin Gareus
4992ed1211 Add missing enum bindings 2016-12-08 13:21:00 +01:00
Robin Gareus
462deb3544 Add timecode example script 2016-12-08 12:45:44 +01:00
Robin Gareus
61c7af141d Clarify "frames" (video, timecode) vs "samples" (audio) 2016-12-08 12:45:44 +01:00
Robin Gareus
f05f19bdd4 add Lua bindings for Timecode conversion 2016-12-08 12:45:44 +01:00
Paul Davis
3d925ef503 braces, please 2016-12-08 10:49:26 +00:00
Robin Gareus
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
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