Sakari Bergen
b16c8d5ff5
Fix some location xml handling to work with old session files.
...
Also refactor some code around it while I'm at it.
2015-01-05 01:33:35 +02:00
Sakari Bergen
ea1a330f9a
Fix session version check to work with some very old sessions
2015-01-05 01:33:35 +02:00
John Emmas
7f486e146d
Accommodate some newly introduced source files for building with MSVC (libpbd)
2015-01-02 15:31:39 +00:00
Tim Mayberry
d606a37204
Add PBD debug macros for recording timing data
2015-01-01 19:04:14 +07:00
Tim Mayberry
1da30faf7f
Add tests that show the timing differences between the Glib/mm based timeouts
...
This shows that PBD::Timer is pretty much identical in terms of timing and CPU
usage as Glib TimeoutSources.
They also show the differences on Windows when setting the minimum Multimedia Timer
resolution using timeBeginPeriod
2015-01-01 19:04:09 +07:00
Tim Mayberry
b959b3fb87
Add PBD::Timer/StandardTimer/BlinkTimer classes for convenient timeouts
2015-01-01 18:59:01 +07:00
Tim Mayberry
770c190ccf
Add Timing, TimingData and Timed classes for time measurement to pbd/timing.h
2015-01-01 18:58:57 +07:00
David Robillard
2558e52e22
Fix alleged use of uninitialized variable.
...
Looks like a guaranteed else branch to me, but who am I to argue with gcc?
2014-12-31 17:32:21 -05:00
David Robillard
0274c93eac
Add missing Variant => LV2 Atom case.
...
(Not likely to actually be used any time soon but fixes warning and does
something reasonable if lossy).
2014-12-31 17:16:28 -05:00
Paul Davis
07c08e4673
fix incorrect test for valid MIDI events.
...
Only channel messages have the form <statusbyte>{<nonstatusbyte>..}
2014-12-31 10:32:50 -05:00
Paul Davis
e4f61de52f
Fix range "arithmetic"
...
Subtracting anything from an empty range should return an empty range, not an assert() failure
2014-12-31 07:43:43 -05:00
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