David Robillard
168d187994
Load what we can from broken/truncated MIDI files.
...
We're still a very long way from tolerant of weird SMF files (libsmf takes a
"crash if input is not exactly perfect" philosophy, if we're going to be polite
and elevate such a thing to "philosophy"), but at least we'll get what's there
from files truncated by old broken versions of Ardour or other situations.
2014-12-30 23:10:11 -05:00
Robin Gareus
f499f4cfd2
don't take temporary copy of MIDI sequence
...
fixes potential boost shared_ptr double free.
2014-12-31 03:19:00 +01:00
Robin Gareus
805d4dd731
add a MIDI loopback mode to the Dummy Backend
2014-12-30 22:55:14 +01:00
David Robillard
97d344f740
Fix MIDI CC record/playback crash.
2014-12-30 14:45:11 -05:00
David Robillard
c35e94a3c8
Fix some mangled whitespace (noop).
2014-12-30 14:41:22 -05:00
David Robillard
a85827da1c
Revert "Fix occasional MIDI read crash."
...
This reverts commit ec947ff8fd .
2014-12-30 13:03:22 -05:00
David Robillard
54c085d931
Fix occasional crash when saving MIDI.
...
I can't figure out why a change has a NULL note; that shouldn't happen, but it
does. Worse case scenario is some undo loss, so better to print something
informative and soldier on than crash. Hopefully this will help track down the
real cause with more testing.
2014-12-29 22:01:41 -05:00
David Robillard
2e62ca9631
Fix off-by-one MIDI note names.
...
Much like everything else in midnam, it's not specified whether the numbers are
0 or 1 relative, but everything out there seems to be 0 relative and this
matches the canvas, so go with that.
2014-12-29 20:20:16 -05:00
Paul Davis
a42b9ff86e
fix a few compiler warnings
2014-12-29 18:17:26 -05:00
David Robillard
9b8760cf69
Avoid another potential deadlock for good measure.
...
Firing these signals while locked is not a good idea, Sequence/ControlList need
a better design for this that accounts for recording and lockedness.
2014-12-29 17:56:53 -05:00
David Robillard
cf6e9d3412
Blind fix for MIDI iteration bug.
2014-12-29 15:12:10 -05:00
David Robillard
190ac88248
Fix deadlock while recording MIDI controllers.
2014-12-29 11:34:18 -05:00
Robin Gareus
47d083d02d
update numbering of midi-test sequences
2014-12-29 14:36:39 +01:00
Robin Gareus
95fcf18245
add a midi-CC sustain-pedal test sequence
2014-12-29 14:32:03 +01:00
Robin Gareus
6e38d3777e
add 'size' field to midi-sequences
2014-12-29 14:09:46 +01:00
Robin Gareus
c3c6f619c3
make it easier to add new midi sequences
2014-12-29 13:58:15 +01:00
John Emmas
f4e89d75fd
Add some newly introduced source files to our MSVC project (libardour)
2014-12-29 11:06:41 +00:00
David Robillard
541705e1ee
Demote message about empty MIDI tracks to info.
2014-12-28 19:21:46 -05:00
David Robillard
4c0cebf7f9
MIDI transform dialog.
2014-12-28 16:06:44 -05:00
David Robillard
ec947ff8fd
Fix occasional MIDI read crash.
...
Locking should prevent this from being a problem, but taking a reference to the
cached iterator and mutating it directly causes occasional crashes for me for
reasons I can't quite figure out.
This fixes the issue and is arguably more sane anyway, so whatever.
2014-12-28 16:06:44 -05:00
David Robillard
e735d4035f
Clean up note delta command code.
...
Use Variant to store the value and the same code path for all properties.
Factor out getting the value of whatever property instead of special casing the
handling.
Towards using this stuff for some fancy things...
2014-12-28 16:06:44 -05:00
David Robillard
962be01ae8
Fix typo.
2014-12-28 16:06:44 -05:00
Robin Gareus
f3604814a4
use ldflags for wine linking
...
fixes issue with eg. wine-unstable:
--also-libdir=/usr/lib/i386-linux-gnu/wine-unstable/
2014-12-28 15:18:39 +01:00
Robin Gareus
4e2673ca2c
add explicit chmod for good measure
2014-12-28 10:20:46 +01:00
Robin Gareus
28fb110dd3
fix [rare] concurrent build issue:
...
[709/779] subst: headless/hardev_common.sh.in -> build/headless/hardev_common_waf.sh
[710/779] hardev_common_waf.sh: -> build/headless/hardev_common_waf.sh
chmod: cannot access `headless/hardev_common_waf.sh': No such file or directory
2014-12-28 10:20:25 +01:00
John Emmas
e427724bd7
Some of libardour's istream and ostream operators are needed outside of libardour - so let's make them exportable
...
(currently, only the istream operators are needed but we might as well do them both)
2014-12-26 09:21:23 +00:00
John Emmas
6c50971eba
Remove the source files which got transferred to libpbd
2014-12-26 09:18:23 +00:00
John Emmas
46d08595ff
class 'PBD::Configuration' doesn't actually get exported from libpbd - so make sure we don't decorate it with LIBPBD_API
2014-12-26 09:16:58 +00:00
John Emmas
8eba7c5c0a
Add some newly introduced source files to our MSVC project (libpbd)
2014-12-26 09:15:17 +00:00
David Robillard
7e25f21595
Conditionally remove possibly unused functions.
2014-12-25 20:07:57 -05:00
David Robillard
129cc4689a
Remove warning when adding MIDI model controls.
...
This is fine, unlike the other cases, MidiTrack is not the only thing that can
have a MIDI automation control.
2014-12-24 20:41:14 -05:00
David Robillard
86242348ec
Fix crash when getting width of item with no bbox.
2014-12-24 16:02:56 -05:00
David Robillard
b0f1c16e20
Support fancy controls for some AU units.
2014-12-24 13:00:32 -05:00
David Robillard
2e7cfe081f
Add --no-lrdf configure option.
2014-12-24 13:00:32 -05:00
David Robillard
8c8bc51034
Fix OSX build.
2014-12-24 13:00:32 -05:00
Robin Gareus
0b471df0c3
fix clang compilation
...
error: call to function 'operator>>' that is neither
visible in the template definition nor found by argument-dependent lookup. 'operator>>' should be declared prior to the call site.
IOW. types.h must be included before using ‘ss >> (T) value’ in
template in pbd/configuration.h
2014-12-24 05:00:39 +01:00
Robin Gareus
bec521c6a7
proper default setup and fallbacks for video on windows
2014-12-24 01:36:46 +01:00
Robin Gareus
f5f89d8c7e
fix for case-sensitive FS - aa80515f3
2014-12-23 23:43:25 +01:00
Robin Gareus
96ee33aa5f
fix and cleanup c404ef98 (windows config dir)
2014-12-23 23:43:25 +01:00
Greg Zharun
aa80515f3f
[Summary] Fixed audio export on Windows. Added support of windows platform for the function that calculated hardware concurrency.
...
Because there was no implementation for this function on windows it used to return 0. This meant that no thread was created to process the data.
2014-12-23 12:55:35 -05:00
Paul Davis
6b6d78c41f
indent cleanup
2014-12-23 12:35:58 -05:00
Paul Davis
280910fd53
new file, derived from old libs/ardour/configuration.cc
2014-12-22 19:48:30 -05:00
Paul Davis
d854c5d93c
move ARDOUR::Configuration and ARDOUR::ConfigVariable into libpbd
2014-12-22 19:48:30 -05:00
Robin Gareus
c404ef9856
don't append .config to %LOCALAPPDATA%\<ProgramName>\
...
::user_config_directory() could use some general cleanup
an x-platform consolidation, but today is not the day.
2014-12-22 23:04:44 +01:00
Paul Davis
64fa63212f
move all (G)UI related configuration parameters into UIConfiguration, not RCConfiguration
2014-12-22 13:39:46 -05:00
Paul Davis
795c5c16f1
no use of GUI parameters in libardour
2014-12-22 13:39:46 -05:00
Paul Davis
76d42ab644
change SessionEvent::Immediate to -1, and ensure that clear_events() uses it rather than a hard-coded value
...
This fixes a design error of using zero as the flag for an "Immediate" event's action frame. Zero
is a perfectly legitimate action frame for an event (e.g. a Skip event), and using zero was causing
skip events with action-frame == 0 to be treated as immediate, not scheduled.
2014-12-21 11:45:53 -05:00
Tim Mayberry
dafcaec023
Limit Wiimote surface discovery to 5 connection attempts
...
If you don't connect a Wiimote then the connection attempts were
endless.
2014-12-21 12:53:00 +07:00
Paul Davis
282c563fce
fix newly introduced deadlock when cloning MIDI regions
2014-12-20 14:09:39 -05:00
David Robillard
5d8021bf44
Maintain correct tracker state on MIDI overwrite.
...
This is a little hard-edged in that edits while rolling will prematurely chop
off any playing notes, but at least the state of things actually reflects
reality. More sophisticated solution hopefully to come...
2014-12-20 01:13:25 -05:00