Commit graph

7710 commits

Author SHA1 Message Date
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