Commit graph

8819 commits

Author SHA1 Message Date
Robin Gareus
e2902a0b76 clarify midi-iterator comment 2015-08-27 14:43:28 +02:00
John Emmas
ada32733c5 Modify some functions to alleviate overflow / precision errors
'session_frame_to_track_frame()' and its complement, 'track_frame_to_session_frame()' both accept a double and an ARDOUR::framepost_t (int64_t). For convenience these both get converted to long double. However, the functions are often called with very large values (ARDOUR::max_framepos). When this happens, rounding and precision errors can cause overflow issues. This is an attempt to alleviate that problem. Not sure if it's strictly necessary to accommodate negative values - but I'm assuming these could happen if 'speed' was negative (reverse play?)

This is the reason why 'Select All Objects' (and similar functionality) don't work for some users.
2015-08-27 12:28:45 +01:00
Robin Gareus
1387e756de fix linked midi-regions on different tracks #6541
A somewhat hacky solution to address missing note-off events when a
linked midi-region is used on separate tracks at the same time.
see the source-code comment for further info.
2015-08-25 03:48:54 +02:00
Robin Gareus
f0db0f0862 Exclude empty CC-params from "Show Existing Automation" 2015-08-24 03:35:41 +02:00
Robin Gareus
cc9c38ce5e Do not send non-automated MIDI-CCs on locate.
If a "CC" automation lane was visible at least once, a Control Object
is created and henceforth saved with the session: 
   <Object id="automation TrackID TYPE" ../>
It is currently not possible to remove this object. (Automation > clear
will only zero all events, but not remove the Control itself.

The bug:
After showing a MIDI-CC lane at least once Events are sent for this CC.
If there is no corresponding value in the .mid, it will be zero after
session reload.

see also 7e2c8ac

Still ToDo: "Show existing automation" shows the lane even if there
are no values nor any automation at all for the given CC.
2015-08-24 02:42:31 +02:00
Robin Gareus
f1c21367f2 Fix auditioner underrun when seeking.
prevents "disk too slow" message when seeking in the auditioner.
2015-08-22 16:37:08 +02:00
Robin Gareus
2aee69d6d9 fix some compiler warnings (float/double) 2015-08-22 04:33:51 +02:00
Robin Gareus
e69368cc8f clear out some SessionHandleRef's on close. 2015-08-20 22:27:35 +02:00
Robin Gareus
6b8b4bb986 potential fix for #6515 - stall/crash during route deletion
introduced in 4.1-78-g11e371c
2015-08-20 03:38:22 +02:00
Robin Gareus
63e3f326e9 clear waveform cache when shape changes - fixes #6525 2015-08-20 03:01:51 +02:00
Robin Gareus
b8b6f61d6c save/load generic-midi motorized setting - fixes #5296 2015-08-20 00:19:32 +02:00
Tim Mayberry
b4e13cbbb7 Add undo history related debug output for debugging Undo/Redo issues 2015-08-19 13:56:11 +10:00
Tim Mayberry
463cf1cf9c Add PBD::DebugBit for debugging issues with undo history 2015-08-19 13:56:06 +10:00
Robin Gareus
f36f03fcb4 fix error-level 2015-08-19 04:09:22 +02:00
Robin Gareus
cf1ab3391f code consistency and hints for static analysis 2015-08-19 04:07:39 +02:00
Tim Mayberry
a2fbce0e7f Change return type and name of get_win_special_folder
Rename it get_win_special_folder_path to indicate what it is returning

Move documentation for the function into the header and use doxygen style
comments.

Fixes a couple of memory leaks in ArdourVideoToolPaths class although it looks
as if there are more.
2015-08-18 15:33:03 +10:00
Tim Mayberry
36e4c11a2a Add utility function to get windows packaging directory to avoid memory leaks
There were a few other small leaks in pbd and evoral test code but I didn't
bother changing them. Perhaps this function would be better off in PBD:: so it
can be used everywhere.
2015-08-18 15:10:55 +10:00
Tim Mayberry
ea32eecf3d Fix Searchpath::operator+ to return by value rather than reference and not modify *this
ladspa_search_path was the only function using this API and it is unaffected by
the change
2015-08-18 15:09:44 +10:00
Robin Gareus
a46c84d72f update comment regarding lv2 buffersizes 2015-08-17 00:07:32 +02:00
John Emmas
1d2938b162 Add '_xgetbv()' for MSVC-9 and earlier 2015-08-16 13:14:54 +01:00
Robin Gareus
f65bcc6e74 compat for old sessions with missing plugins (+doc) 2015-08-16 03:46:45 +02:00
Robin Gareus
e7bbed3150 Update Route to handle UnknownProcessors as Stubs. 2015-08-15 23:29:05 +02:00
Robin Gareus
f7a670bc79 implement stub UnknownProcessor 2015-08-15 23:28:50 +02:00
Robin Gareus
3dd3c35dfe fix a typo 2015-08-15 19:58:37 +02:00
Robin Gareus
50f0e59087 save [actual] plugin i/o-configuration
for use with placeholder stub in case the plugin becomes n/a.
2015-08-15 19:58:04 +02:00
Robin Gareus
a99fa7170c use buf-size.h only with lv2-1.2 or later 2015-08-14 22:42:35 +02:00
Robin Gareus
98e991c939 relax LV2 buffersize restrictions
check only required features, not optional ones.
2015-08-14 19:24:40 +02:00
Robin Gareus
e72c0b81a7 don't even list LV2 plugins that cannot be used. 2015-08-14 18:13:05 +02:00
Len Ovens
4129b8865c Fixed Mackie control port naming for extender use (fixes #6500) 2015-08-14 08:57:13 -07:00
Robin Gareus
ac1065b43b refuse to load LV2 plugins if buffersize requirements cannot be satisfied. 2015-08-14 17:51:26 +02:00
Robin Gareus
dace872af8 fix Dummy backend API. Already_configured means "externally". 2015-08-14 16:26:44 +02:00
Paul Davis
f77a409b0c tweaks for AVX detection 2015-08-14 08:53:06 -04:00
Robin Gareus
c342769925 allow to export loop-range w/o looping. fixes #6508 2015-08-14 02:32:29 +02:00
Len Ovens
962ba01cfd Fixed feedback for MCP buttons and LEDs not working. 2015-08-13 13:00:04 -07:00
Len Ovens
39240c9d37 Added end of line to debug statment 2015-08-13 09:55:32 -07:00
Paul Davis
c59c85209a update german translation (from Edgar Aichinger) 2015-08-13 09:00:24 -04:00
Robin Gareus
056b9af695 fix live resampling (auditioning, embedded src) 2015-08-13 04:30:06 +02:00
Robin Gareus
1df1a883e7 clarify variable name
TODO: use a central shared location for this, and Do not allow
disk_read_chunk_frames/set_disk_write_chunk_frames to exceed it.
2015-08-13 04:28:34 +02:00
Robin Gareus
0cc2e3b370 fix import resampling (don’t cut end short) 2015-08-13 03:23:38 +02:00
Robin Gareus
1c2c5634c2 fix resampling (auditioning) 2015-08-13 00:52:37 +02:00
Robin Gareus
ba319b4568 punctuation nitpick 2015-08-12 22:21:22 +02:00
Robin Gareus
5a304e9e33 fix PPC builds 2015-08-12 19:16:01 +02:00
Robin Gareus
4332c5e6ca limit bounce processing size (fixes crashes in plugins)
compare to LV2_BUF_SIZE__maxBlockLength
2015-08-12 18:59:45 +02:00
Robin Gareus
864b557a3d another waf/regexp issue (amend 4666711) 2015-08-12 07:39:12 +02:00
Paul Davis
6de707b3fc correctly switch between windows and (other) when deciding whether to use AVX code 2015-08-12 00:01:02 -04:00
Paul Davis
c86b82aa8a comment tweak to show that the __cpuid() intrinsic belongs to MSVC and mingw 2015-08-11 23:45:52 -04:00
Robin Gareus
94b6e7ffe4 fix mingw compilation 2015-08-12 05:25:29 +02:00
Paul Davis
b6f9bbeb2f can't use xgetbv instruction with apple gcc under OS X Lion 2015-08-11 23:06:47 -04:00
Paul Davis
1e58033ab4 remove unnecessary namespace forward decl 2015-08-11 23:00:13 -04:00
Paul Davis
3a69ff680e use new FPU singleton pattern in libs/ardour 2015-08-11 23:00:13 -04:00