Robin Gareus
7f72e7d879
fix LTC alignment.
...
LTC-slave: offset the parsed LTC-frame instead of changing the
frame's timestamp. This fixes an issue with freewheel timeout and
delta-calculation. Align transport-time with output to match
capture alignment: "with existing material".
LTC-generator: follow suit. align clock with master-bus out.
This is a semi-permanent workaround. Once [tracks feeding] the
master-bus is/are delayed to align to output. The generator
needs to use (worst_track_latency not worst_playback_latency)
2015-01-09 06:08:15 +01:00
David Robillard
2132b917cc
Fix offset events when consolidating MIDI range.
2015-01-08 23:28:02 -05:00
David Robillard
ec17b5388f
Fix bounding box of rectangles with wide outlines.
2015-01-08 18:36:10 -05:00
Robin Gareus
659c0d093d
remove hardcoded major version in build scripts
2015-01-08 17:59:41 +01:00
David Robillard
7985624037
Close polygon borders (fix partially drawn hits).
2015-01-08 11:09:38 -05:00
Ben Loftis
0fba29a67a
tweak boot message so the final message makes more sense
2015-01-08 07:38:08 -06:00
David Robillard
2a251b4570
MusicalTime => Beats.
2015-01-07 00:12:07 -05:00
David Robillard
4d202d9157
Add modulus operator to MIDI transformer.
...
Useful for doing things like making alternating bowing patterns.
2015-01-06 23:04:28 -05:00
Robin Gareus
17dfebf611
Only restore plugin state (of first instance) once.
2015-01-06 20:29:39 +01:00
David Robillard
b56905b9a7
Fix MIDI file descriptor leaks.
...
Pretty sure this is the cause of MIDI data going missing on save for optimized
builds. Introduced in 294b99aabf .
2015-01-05 15:50:30 -05:00
Robin Gareus
c16d520338
prepare for 'ardour4'
2015-01-05 19:07:24 +01:00
Robin Gareus
5584f46003
update windows user_cache_directory(): same pattern as config dir
2015-01-05 18:29:33 +01:00
Robin Gareus
6e3e1738dd
removed hardcoded ".ardour" suffix
2015-01-05 17:48:42 +01: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