Commit graph

9278 commits

Author SHA1 Message Date
Robin Gareus
c6d6f038b4 handle waveform drawing thread shutdown 2015-09-02 01:46:31 +02:00
Robin Gareus
531e71b485 Prepare option to disable Plugins completely
old behavior to only bypassed plugins is being renamed.
2015-09-01 13:26:31 +02:00
Robin Gareus
a1b387ad9a fix AU port count - NI Reaktor5 2015-09-01 12:45:59 +02:00
Robin Gareus
dca0e6fbe2 fix crash with missing .mid
assert in ARDOUR::MidiRegion::control() boost::shared_ptr<ARDOUR::MidiModel>::operator-> invalid ptr.
see http://pastebin.com/dTV10Zu6
2015-08-28 18:48:40 +02:00
Robin Gareus
b0147a7767 fix possible deadlock on session-close 2015-08-28 15:45:52 +02:00
Robin Gareus
b6f51b2497 coreaudio: re-classify port-errors as warnings 2015-08-28 15:41:33 +02:00
Robin Gareus
3a3d5c41be synchronous shutdown of process graph. 2015-08-28 15:39:06 +02:00
Robin Gareus
9458fce148 pre-seed session-state-version.
copying/paste of many objects use ::set_state(, version) to set the
the state of the copy.  Stateful::loading_state_version is used for
state-version in those cases.

This fails for a New Session (version==0) or when creating a New Session
after loading an Ardour2 session.
2015-08-28 14:08:32 +02:00
Tim Mayberry
20fb2bec75 Don't truncate pretty port names when setting up port bundles
This was causing truncation in the mixer strip input/output popup menus and the
channel number identifier was truncated
2015-08-28 10:43:17 +10:00
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