Commit graph

27701 commits

Author SHA1 Message Date
Nikolaus Gullotta
0b3d4f10c4 remove sanitize node function, and clear substitutions vector before recalling. Fixes issue with dangling ports 2019-06-03 14:03:17 -05:00
Nikolaus Gullotta
ce56e9e5bb fix dialog bug where right click -> rename could be longer than 48 characters and try some size changes 2019-06-03 14:01:35 -05:00
Nikolaus Gullotta
940c36468c change RecallFlags enums to make way for new functionality 2019-05-28 15:42:22 -05:00
Nikolaus Gullotta
b52f27721a do not honor aux send data in recall 2019-05-28 11:39:33 -05:00
Nikolaus Gullotta
ea9a7a9f21 Merge branch 'master' into mixer-snapshots 2019-05-28 09:59:59 -05:00
Nikolaus Gullotta
eb1e00edd2 add timestamp to location and date sorting from timestamps to export_timespan_selector 2019-05-28 09:51:34 -05:00
Nikolaus Gullotta
f624cbcb29 fixing some commentary 2019-05-28 09:51:02 -05:00
Robin Gareus
b1587940e4
Fix crash when deleting selected region-view in ripple mode #7764
Changing the playlist (remove_region) invalidates selection and
unsets `clicked_regionview`. The region to operate on needs
to be stored for later use.
2019-05-27 14:10:59 +02:00
Robin Gareus
8cce89664c
Fix a -Wmaybe-uninitialized (disk-reader, no audio) 2019-05-26 12:56:10 +02:00
Robin Gareus
203b249135
Shuttle Surface: fix linking .dll
For .dll, all references need to be defined at compile/link time
(not runtime). ie. `ld -zdefs`
2019-05-26 12:46:37 +02:00
Robin Gareus
d28dc9ee08
Shuttle Surface: request_factory and MSVC compatible struct 2019-05-25 16:49:19 +02:00
Robin Gareus
3546a7291b
Shuttle Surface: Fix C++ style: use accessor/setter methods
This also fixes C++ compat: no forward declaration of friend classes
(OSX compilation) and C++98 compat (enums are not classes e.g. ActiveState)
2019-05-25 16:49:15 +02:00
Robin Gareus
4cd379f89b
UI integration to conceal LV1 plugins 2019-05-25 01:56:54 +02:00
Robin Gareus
c97884d257
Add preference to hide LADSPA plugin if LV2 exists 2019-05-25 01:56:23 +02:00
Robin Gareus
a18c54ce94
Optimize Plugin-Manager: minimize status query 2019-05-25 01:23:39 +02:00
Robin Gareus
02c698ed85
NO-OP: whitespace 2019-05-25 01:20:17 +02:00
Robin Gareus
a0b5616c85
Speed up Plugin status changes
Postpone menu rebuild when plugin status changes while the PluginManager
Dialog is visible.

Since the dialog is modal, the menus cannot be used while the dialog
is visible, so updating them once when the dialog is hidden is sufficient.
2019-05-25 00:14:56 +02:00
Robin Gareus
92cfed14cf
Re-use the Mixer's PluginManager (singleton)
Previously there were three plugin-manager instances (two of which
were never destroyed).

There were also 3 sets of context-menus (favorites, by tag, by author..),
all of which were re-built when plugin stati changed.

Since the Plugin-manager is a modal dialog, it can be re-used in
all contexts (route-ui, monitor-section, mixer).
2019-05-25 00:12:55 +02:00
Robin Gareus
ce8740cf5e
Fix LADSPA author name (remove padding) 2019-05-24 23:58:00 +02:00
Nikolaus Gullotta
85f2d4413e remove remnant of attempted bugfix 2019-05-24 14:56:30 -05:00
Nikolaus Gullotta
aaf1945f6f Merge branch 'master' into mixer-snapshots 2019-05-24 14:25:29 -05:00
Nikolaus Gullotta
f2b67b5f67 add timestamp to location and date sorting from timestamps to export_timespan_selector 2019-05-24 14:24:44 -05:00
Nikolaus Gullotta
205b50fe60 initial dirty work on a state substitution dialog - lots of cleanup and imporvement needed 2019-05-24 14:10:38 -05:00
Johannes Mueller
e61c4b692b Use ActionModel also in ContourDesign surface 2019-05-19 16:43:48 +02:00
Johannes Mueller
0c3112aed1 Some frame -> sample changes in UCS2400 2019-05-18 16:36:49 +02:00
Johannes Mueller
b8349069f1 Add support for contourdesign ShuttlePRO v2 and ShuttleXpress 2019-05-18 14:04:38 +02:00
Johannes Mueller
89f39d14f2 Add some options for surfaces to jump in the timeline
* ::jump_by_beats()
* request transport to keep rolling after jump
2019-05-18 13:27:49 +02:00
Nikolaus Gullotta
be2d0f0f93 begin work on substitution dialog 2019-05-17 11:50:22 -05:00
Nikolaus Gullotta
e2d3670fe5 add access to mixer_snapshot's session 2019-05-17 11:50:01 -05:00
Nikolaus Gullotta
28ae1def64 small optimization to refill 2019-05-17 11:49:44 -05:00
Robin Gareus
1173ca8d34
Prefer dedicated c-pointer bindings (can be const) 2019-05-17 12:09:08 +02:00
Robin Gareus
344feccc31
Prefer dedicated c-pointer bindings (can be const) 2019-05-17 12:09:07 +02:00
Robin Gareus
bed2eb2e33
Fix std::list<hared_ptr<>> front/back methods
Shared pointer reference accessors can't be const
2019-05-17 12:09:07 +02:00
Nikolaus Gullotta
625e3675a4 NO-OP: Whitespace, variable names, general clean-up 2019-05-16 10:28:52 -05:00
Nikolaus Gullotta
5041adcd06 don't add the snapshot if it's empy 2019-05-15 11:55:13 -05:00
Nikolaus Gullotta
9c3f49004c delegate new_row function to create new rows in our models 2019-05-15 11:22:59 -05:00
Nikolaus Gullotta
9b6c2b3680 further performance enhancments, append new row instead of refilling 2019-05-14 13:36:32 -05:00
Nikolaus Gullotta
d8679536d0 provide Treemodel::iterator to popup_context_menu to enhance performance, instead of a total refill, we just operate on the row instead 2019-05-14 12:58:18 -05:00
Nikolaus Gullotta
45936d03ce Merge branch 'master' into mixer-snapshots 2019-05-14 10:27:33 -05:00
Nikolaus Gullotta
59b6b46a13 add timestamp to location and date sorting from timestamps to export_timespan_selector 2019-05-14 10:27:00 -05:00
Ben Loftis
3e7e89db8f Fix some actions that moved from Common to Editor. 2019-05-13 09:20:17 -05:00
Robin Gareus
8ae4fe1aa9
Prefer to receive URI-lists for DnD
This fixes an issue when embedding external files with ISO or some non
ASCII encodings (KDE/dolphin file-manager does not UTF-8 encode
filenames for plain/text DnD). But does so for URIs.

See also #7253 and previous commit
2019-05-13 15:44:11 +02:00
Jean-Marie Favreau
1846476127
Fix a bug for drag and drop from nautilus/dolphin (more spectific format first in the
list of possible inputs)
2019-05-13 15:44:11 +02:00
Julien "_FrnchFrgg_" RIVAUD
a4474e95a4 Make the configuration penalty subtler about inputs
Instead of uniformly demote configurations with a non-matching audio
input count (using a penalty offset of 1000), also grade the
impreciseness of the configuration so that those with the nearest input
count are preferred. As for outputs, give a slightly higher handicap to
configuration with too many inputs with regard to the actual audio
inputs that can be fed to the plugin.

POLICY CHANGE: when only imprecise configurations are found the actually
selected one can be different (better) than before this commit.
2019-05-12 22:32:10 +02:00
Julien "_FrnchFrgg_" RIVAUD
fe4d0f67e4 Remove ad-hoc handling of possible_in == 0
Just make the code responsible for possible_in > 0 also handle
possible_in == 0 since it nearly does the same thing.

The only difference is that the possible_in == 0 case, by using
FOUNDCFG(), acted as if possible_in was audio_in. The consolidated code
uses FOUNDCFG_IMPRECISE which will add some penalty to the
configurations where desired_in == possible_in != audio_in.

There is thus a small POLICY CHANGE, but the selected configuration will
stay the same unless a better matching configuration is available.
2019-05-12 22:32:10 +02:00
Julien "_FrnchFrgg_" RIVAUD
3bff40b5b3 Enable overriding the configuration penalty
This relieves exact matches of the need to duplicate the bookeeping done
by FOUNDCFG()
2019-05-12 22:32:10 +02:00
Julien "_FrnchFrgg_" RIVAUD
7a6daab642 Merge input-imprecise pass into the main pass
Still no policy change, since when a configuration is chosen that would
have belonged to the second pass, then its penalty will be increased by
1000 and it will be selected only as last recourse.
2019-05-12 22:32:10 +02:00
Julien "_FrnchFrgg_" RIVAUD
b5218fa38b Introduce a macro for imprecise configurations
It enables only setting the imprecise audio channel count if the
configuration is indeed selected.
2019-05-12 22:32:10 +02:00
Julien "_FrnchFrgg_" RIVAUD
0e0c55c6b5 Merge some cases to avoid duplicated logic
Merge the cases in == -1 and in == -2 since those are both wildcards,
almost symmetric in the AU spec, and handled completely symmetrically by
the code here considering it accepts invalid or unspecified demands.

Also merge the cases in > 0 and in < -2 since they are handled exactly
the same as far as outputs are concerned.

No policy change
2019-05-12 22:32:10 +02:00
Julien "_FrnchFrgg_" RIVAUD
baef462cf4 Replace the exact_match logic by a negative penalty
Instead of doing an initial loop for detection of exact matches, then
letting the following loop set \audio_out yet ignore its value, merge
the two loops but give exact matches a negative penalty so that the
\audio_out value they set won't change afterwards.

No policy change.
2019-05-12 22:32:10 +02:00