Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LV2 Support #316

Closed
wants to merge 101 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
a01d98b
Create LV2Backend class and register it
badescunicu Jul 14, 2014
455c0ff
Tell Scons to use lilv library
badescunicu Jul 16, 2014
bc7394c
Initialize the LilvWorld and use it to find the available plug ins; a…
badescunicu Jul 16, 2014
8a178a3
Create a dummy LV2 effect processor which is playing silence
badescunicu Jul 16, 2014
4fe7929
Add the LV2Manifest class which parses a LilvPlugin into an EffectMan…
badescunicu Jul 16, 2014
19dc543
Add a new EffectProcessorInstantiator for LV2 effects
badescunicu Jul 16, 2014
48833e4
Update depends.py file
badescunicu Jul 16, 2014
34b0f6b
Initialize EngineEffectParameters for LV2EffectProcessor and display …
badescunicu Jul 16, 2014
6fa0aef
Add more port types
badescunicu Jul 16, 2014
155bcd3
Make the effect valid only if it has two inputs and two outputs (L an…
badescunicu Jul 16, 2014
6861538
Pass the LV2 plugin to LV2EffectProcessor
badescunicu Jul 16, 2014
24f2461
Hard connect the lv2 ports (works for calf flanger and phaser)
badescunicu Jul 16, 2014
5311c53
Use a QHash<QString, LV2Manifest*> instead of a QSet<LV2Manifest*>
badescunicu Jul 19, 2014
9c97c5c
Add TODOs
badescunicu Jul 19, 2014
f0b96d6
Move getSampleRate into the base class
badescunicu Jul 19, 2014
5b668ab
Use the real sample rate inside LV2EffectProcessor
badescunicu Jul 19, 2014
cdba805
Make the port ids unique
badescunicu Jul 20, 2014
0c44934
Use MAX_BUFFER_LEN instead of the hard coded value
badescunicu Jul 20, 2014
4bf8dd2
Merge master
badescunicu Jul 21, 2014
f3e161d
Modify the instantiator to receive and pass port indices
badescunicu Jul 21, 2014
8faa453
Pass the indices to the instantiator
badescunicu Jul 21, 2014
094a94f
Use the port indices inside lv2effectprocessor
badescunicu Jul 21, 2014
a4bb4d3
Build the port indices inside LV2Manifest
badescunicu Jul 21, 2014
76c3580
Add a destructor for LV2EffectProcessor
badescunicu Jul 22, 2014
24a1b9f
Fix warnings
badescunicu Jul 22, 2014
cdb5c7b
Hack for putting the button parameters at the end of the list
badescunicu Jul 22, 2014
342a9b8
Handle button parameters inside LV2EffectProcessor
badescunicu Jul 22, 2014
6c4ffa5
Change the name of the LV2Manifest temporary pointer
badescunicu Jul 22, 2014
eae9116
Add another ValueHint for enumerations
badescunicu Jul 25, 2014
319abbc
Comment out the code for button parameters
badescunicu Jul 25, 2014
9f47bcc
Refactor code for setting the Parameter's Hints
badescunicu Jul 25, 2014
1e838eb
Add a list of options for enumeration parameters to EffectManifestPar…
badescunicu Jul 26, 2014
978437a
We don't currently support button or enumeration parameters for LV2 E…
badescunicu Jul 26, 2014
ddb445c
For each enumeration port, build the list with its available options
badescunicu Jul 26, 2014
46bc95d
Remove "m_isValid = false" lines
badescunicu Jul 27, 2014
0920946
Add Lilv feature to features.py
badescunicu Jul 27, 2014
4403c69
Use the real number of parameters
badescunicu Jul 28, 2014
f5dc3a3
Remove Lilv dependent files from depends.py
badescunicu Jul 29, 2014
0881fd1
Change the minimum required version for lilv to 0.5
badescunicu Jul 29, 2014
c0086de
Implement enumeratePlugins() and tidy up the code in lv2backend
badescunicu Jul 30, 2014
3ff4cf4
Pass an LV2Backend* to DlgPreferences
badescunicu Jul 30, 2014
20e879e
Add new files to depends.py
badescunicu Jul 30, 2014
6e39b0e
Add Qt Designer file for LV2 preference tab
badescunicu Jul 30, 2014
40138d9
Add a method which return the discovered LV2 plugins
badescunicu Jul 30, 2014
5a1b341
Implement DlgPrefLV2 class
badescunicu Jul 30, 2014
5c23073
Add LV2 preferences tab to DlgPreferences
badescunicu Jul 30, 2014
30b7b3e
Move slotValueChanged method from base to subclasses because it needs…
badescunicu Aug 1, 2014
99d5c86
Add a special case for EffectManifestParameter::VALUE_ENUMERATION
badescunicu Aug 1, 2014
3ec4204
Make getOptions() method const because it is being called on a const …
badescunicu Aug 1, 2014
baf81bb
Set the number of states for each EffectButtonParameterSlot
badescunicu Aug 1, 2014
0a32775
Add special treatment for EffectManifestParameter::VALUE_ENUMERATION …
badescunicu Aug 1, 2014
8a4927a
Add button parameters to EffectManifest; also consider the case when …
badescunicu Aug 1, 2014
1046e59
Handle button and enumeration parameters (currently crashes when chan…
badescunicu Aug 1, 2014
13d8acc
Set VALUE_ENUMERATION hint both to button and enumeration parameters
badescunicu Aug 1, 2014
fd31ae9
Fix subtle bug; this was crashing Mixxx when changing effects
badescunicu Aug 1, 2014
0a3db56
Add getManifest() method to EffectParameterSlotBase
badescunicu Aug 4, 2014
a4410fb
Add a new widget derived from WPushButton which displays a QMenu with…
badescunicu Aug 4, 2014
a0930af
Add WEffectPushButton to depends.py
badescunicu Aug 4, 2014
11f486c
Write a new method for parsing an EffectPushButton skin node
badescunicu Aug 4, 2014
0ae2e6b
Add three vertical layouts to LV2 preference menu
badescunicu Aug 5, 2014
75655d8
Introduce a list which is responsible for remapping indices of active…
badescunicu Aug 5, 2014
9c7bae5
Use the remapping provided by the EffectManifest
badescunicu Aug 5, 2014
b473f16
Store the effects ID too inside the list of all discovered LV2 plugins
badescunicu Aug 5, 2014
281b77a
Add methods to retrieve the reference to an existing EffectManifest
badescunicu Aug 5, 2014
7d92b98
Display effect parameters inside LV2 preference page
badescunicu Aug 5, 2014
d0880f8
Add two more fields to DlgPrefLV2: the number of checked parameters a…
badescunicu Aug 7, 2014
da2edba
Set the number of checked parameters to 0 when changing the plugin.
badescunicu Aug 7, 2014
223e0f9
Modify dlgpreflv2dlg.ui'
badescunicu Aug 7, 2014
bb148d6
Implement the logic for restricting the user to select up to 8 active…
badescunicu Aug 7, 2014
e76ea7e
Rename the layout from lv2_vertical_layout_right to lv2_vertical_layo…
badescunicu Aug 8, 2014
2e47542
Add information about active button parameters inside EffectManifest
badescunicu Aug 8, 2014
5848747
Display and update button parameters too inside LV2 preferences
badescunicu Aug 8, 2014
ed884e8
Update slotApply() to treat button parameters too
badescunicu Aug 8, 2014
e8cf28d
Connect clicked() signal to slotDisplayButtonParameters()
badescunicu Aug 8, 2014
f4eaa65
Use the mapping provided by the EffectManifest when asking for a butt…
badescunicu Aug 8, 2014
e15ecd2
Remove the hard coded mapping function from EffectManifest's constructor
badescunicu Aug 10, 2014
2beb022
Replace getParameter and getButtonParameter methods with getParameter…
badescunicu Aug 10, 2014
589fea1
Use the newly added methods for retrieving the appropriate EffectPara…
badescunicu Aug 10, 2014
d41fea2
Replace all occurrences of parameterNumber with parameterSlotNumber
badescunicu Aug 10, 2014
61e19eb
Remove no longer useful comments
badescunicu Aug 11, 2014
2235d3f
Remember checked LV2 parameters during current session
badescunicu Aug 14, 2014
4809204
Change the LV2 preferences icon
badescunicu Aug 16, 2014
eac4af8
Remove getAllDiscoveredPlugins method
badescunicu Aug 16, 2014
a7a4e0f
m_registeredEffects now contains all LV2 plugins
badescunicu Aug 16, 2014
146e870
Make getEffectIds() method return the available LV2 effects and add a…
badescunicu Aug 16, 2014
6148b4f
Use the newly added methods inside the LV2 preference page
badescunicu Aug 16, 2014
3aef49a
Remove no longer used macros
badescunicu Aug 16, 2014
b34320e
Add a Status enum to LV2Manifest
badescunicu Aug 16, 2014
c3af7ca
Add a private Status member to LV2Manifest
badescunicu Aug 16, 2014
958a5e8
Write a getter for m_status member
badescunicu Aug 16, 2014
04ace52
Assign a status for each LV2 plugin
badescunicu Aug 16, 2014
dcc2a27
Add a method to LV2Backend which returns an LV2Manifest
badescunicu Aug 16, 2014
2095867
Use LV2Manifest::Status enum for displaying why a plugin is disabled
badescunicu Aug 16, 2014
70b4d4f
Remove debug comments
badescunicu Aug 16, 2014
1897b92
Change LV2 preferences icon
badescunicu Aug 19, 2014
ecf7e5b
Set kEffectDebugOutput to false
badescunicu Aug 19, 2014
a52d958
Move the deletion of m_pSampleRate CO inside ~EffectProcessor
badescunicu Aug 19, 2014
9ea1b1c
Fix typos
badescunicu Aug 27, 2014
a0fa228
Make tooltips more helpful to the translators and end users
badescunicu Aug 27, 2014
03c34db
Fix conflicts with master
badescunicu Sep 4, 2014
6fd6cdf
Fix tooltip text
badescunicu Sep 4, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add a method to LV2Backend which returns an LV2Manifest
  • Loading branch information
badescunicu committed Aug 16, 2014
commit dcc2a27b271a327a130536b9a4ecf859bbce1d71
4 changes: 4 additions & 0 deletions src/effects/lv2/lv2backend.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,10 @@ EffectManifest LV2Backend::getManifest(const QString& effectId) const {
return EffectManifest();
}

LV2Manifest* LV2Backend::getLV2Manifest(const QString& effectId) const {
return m_registeredEffects[effectId];
}

EffectManifest& LV2Backend::getManifestReference(const QString& effectId) {
return m_registeredEffects[effectId]->getEffectManifestReference();
}
Expand Down
1 change: 1 addition & 0 deletions src/effects/lv2/lv2backend.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ class LV2Backend : public EffectsBackend {
const QSet<QString> getEffectIds() const;
const QSet<QString> getDiscoveredPluginIds() const;
EffectManifest getManifest(const QString& effectId) const;
LV2Manifest* getLV2Manifest(const QString& effectId) const;
EffectManifest& getManifestReference(const QString& effectId);
bool canInstantiateEffect(const QString& effectId) const;
EffectPointer instantiateEffect(EffectsManager* pEffectsManager,
Expand Down