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

Eq rack2 #364

Merged
merged 122 commits into from
Nov 16, 2014
Merged
Show file tree
Hide file tree
Changes from 110 commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
bbf6999
Add eqeffect.cpp to sources list
badescunicu May 20, 2014
458b8b7
Create an effect with a 3 band EQ
badescunicu May 20, 2014
d91b153
Register EqEffect
badescunicu May 21, 2014
4c0d2fb
Fix comment
badescunicu May 21, 2014
5781325
[Coding Style] Each member of a class should be on its own line
badescunicu May 21, 2014
2a4b063
Remove the link between the super knob and eq knobs
badescunicu May 21, 2014
1299acb
Use the initializer list for old_low, old_mid, old_high, old_dry
badescunicu May 21, 2014
5cb622f
Use a ControlObjectSlave to get the sample rate from the EqEffect
badescunicu May 23, 2014
dd092b6
Make the sample rate accessible from descendants of GroupEffectProcessor
badescunicu May 23, 2014
e46bf37
Connect the frequency corners from preferences to the EQ Effect
badescunicu May 23, 2014
def4866
Initialize m_loFreq and m_hiFreq with 0 in initializer list
badescunicu May 23, 2014
16f52cb
Fix typo in control.h
badescunicu May 24, 2014
2589688
Do ramping after setFrequencyCorners() (not working properly yet)
badescunicu May 30, 2014
ee31d2e
Do a cross fade without using an additional buffer (not working prope…
badescunicu May 30, 2014
d49aaa8
Do not create new filters in setFilters(). Update previously created …
badescunicu Jun 1, 2014
8859eff
Change the sample rate in setFrequencyCorners(). If frequency corners…
badescunicu Jun 1, 2014
03bdf87
Pass the sample rate to setFrequencyCorners()
badescunicu Jun 1, 2014
5890140
Use memset and memcpy for copying and initializing buffers
badescunicu Jun 2, 2014
199146a
Rename EqEffect to EQDefault
badescunicu Jun 2, 2014
4752eba
Rename EQ knobs to LOW, MID and HIGH
badescunicu Jun 2, 2014
2d878c4
Add descriptions to Default EQ and remove redundant includes
badescunicu Jun 2, 2014
ab66eee
Attempt at switch type parameters
badescunicu Jun 6, 2014
a61f12a
Update the underlying EffectParameter separately for each type of par…
badescunicu Jun 16, 2014
df366e2
Fix typo in computing m_maximum
badescunicu Jun 17, 2014
25559ed
Correct mistake in effectbuttonparameterslot
badescunicu Jun 17, 2014
50ee860
Add a new EffectRack with 4 EQDefault effects. Each EQ is responsible…
badescunicu Jun 19, 2014
7122847
Fix comments
badescunicu Jun 19, 2014
ee07447
Dynamic creation of EQ (each time a deck is added)
badescunicu Jun 19, 2014
574d8ea
Pack the creation of a new EQ inside a method of EffectsManager
badescunicu Jun 20, 2014
0c9dabc
Minor coding style improvement
badescunicu Jun 20, 2014
f0bfd6f
Fix createElement argument in effect.cpp
badescunicu Jun 22, 2014
66bb4ed
Add 4 check boxes for controlling which effect to load onto the EQ Ef…
badescunicu Jun 26, 2014
e8dcab8
Pass a pointer to the EffectsManager to DlgPreferences
badescunicu Jun 26, 2014
4bf1845
Update the Effects loaded onto the Rack when the user checks a box
badescunicu Jun 26, 2014
9aeb025
Use ControlObjectSlave instead of ControlObjectThread for setting the…
badescunicu Jun 27, 2014
e6f9f4d
Add a slot inside EffectRack for loading an effect on an given effect…
badescunicu Jun 27, 2014
06d34aa
Add an EffectRack* and initialize it
badescunicu Jun 27, 2014
615d2e9
Create a new signal in dlgprefeq and connect it to a slot of the EQ R…
badescunicu Jun 27, 2014
c463b8f
Remove the connection for CheckBoxes
badescunicu Jun 27, 2014
2b18b73
Create a slot inside dlgprefeq.cpp for dynamically creating ComboBoxes
badescunicu Jun 27, 2014
b87b610
Temporary hack for having access to DlgPrefEQ
badescunicu Jun 27, 2014
2f30f76
Add another ComboBox if the number of decks has increased
badescunicu Jun 27, 2014
7a03def
Remove the hard coded check boxes
badescunicu Jun 27, 2014
eeb35dc
Dynamically update the required Deck with the selected Effect
badescunicu Jun 27, 2014
5cda4b7
Delete used QComboBoxes in destructor
badescunicu Jun 28, 2014
8b81768
Check if qobject_cast was successful
badescunicu Jun 28, 2014
94177af
Maintain coding style consistency; remove additional empty lines
badescunicu Jun 28, 2014
fb64948
Remove the hard coded check boxes from dlgprefeqdlg.ui
badescunicu Jun 28, 2014
776323c
Connect [Master],num_decks' value changed signal to the slot which ad…
badescunicu Jun 28, 2014
f72071f
Remove the hard coded initialization of the EQ Effect Rack
badescunicu Jun 28, 2014
872341d
Remove temporary hack for accessing DlgPrefEQ as it is no longer needed
badescunicu Jun 29, 2014
be04f6a
Add labels for each QComboBox
badescunicu Jun 29, 2014
9e4ef33
Add a QLabel to dlgprefeqdlg.ui
badescunicu Jun 29, 2014
aa97b18
Remove effect instantiation in addEffectChainSlotForEQ; now dlgprefeq…
badescunicu Jun 29, 2014
657658b
Store user's configuration of the Effect Rack
badescunicu Jun 29, 2014
b20cb78
m_pConfig is deleted inside mixxx.cpp; this was causing an incorrect …
badescunicu Jun 30, 2014
3fa8cc7
Introduce a check box for configuring the Effect Rack (basic/advanced…
badescunicu Jun 30, 2014
b18c59e
Add a flag in EffectManifest to keep track if an effect is an Equaliz…
badescunicu Jun 30, 2014
babb40c
Add another method in EffectsManager class which returns the availabl…
badescunicu Jun 30, 2014
5aef2b0
Use getAvailableEQEffects inside DlgPrefEQ
badescunicu Jun 30, 2014
ce76dd8
Mark EQDefault as an EQ Effect
badescunicu Jun 30, 2014
a27f92a
Add methods for retrieving the available effects names
badescunicu Jun 30, 2014
80c960f
Use itemData() field for storing the effect ID. currentText() is stor…
badescunicu Jun 30, 2014
c7bfc2f
Rename a couple of methods and variables
badescunicu Jun 30, 2014
bda0da7
Modify getAvailableEffectNames and getAvailableEQEffectNames to retur…
badescunicu Jul 1, 2014
1e95377
Use the newly modified methods to fix the link between combo box's te…
badescunicu Jul 1, 2014
fa36e3c
Instantiate controls needed by equalizers inside EffectsManager
badescunicu Jul 2, 2014
b64f3cb
Remove EngineFilterBlock from EngineDeck
badescunicu Jul 2, 2014
2dbece9
Merge master and fix conflicts
badescunicu Aug 11, 2014
afcc172
Mark Butterworth8EQEffect as an EQ Effect
badescunicu Aug 11, 2014
b5c9f2f
Create aliases needed for the EQ Rack
badescunicu Aug 11, 2014
b89544d
Use a loop to create aliases needed for the EQ rack
badescunicu Aug 13, 2014
6cc37d4
Merge branch 'master' of github.com:badescunicu/mixxx into eq_rack
badescunicu Aug 13, 2014
6c59fa0
Remove the radio buttons from EQ Preferences and enable internal EQ
badescunicu Aug 13, 2014
d016e61
Remove EngineFilterBlock
badescunicu Aug 13, 2014
3875241
Add a Bypass check box to EQ Preferences and implement the logic behi…
badescunicu Aug 14, 2014
b02cc8b
Create the aliases inside EffectsManager::addEqualizer instead of har…
badescunicu Aug 16, 2014
b04311f
Merge branch 'master' of github.com:badescunicu/mixxx into eq_rack
badescunicu Aug 16, 2014
94b4013
Fix conflicts
badescunicu Sep 4, 2014
40a5eb6
Fix for logarithmic control hint
badescunicu Sep 5, 2014
795e47b
Set kEffectDebugOutput to false
badescunicu Sep 5, 2014
feb19f0
Remove commented out line from enginedeck.cpp
badescunicu Sep 5, 2014
818c873
Fix some coding style issues and mark a couple of strings for translate
badescunicu Sep 10, 2014
e82a1ab
Remove effectprocessor.cpp because it was not used throughout the cod…
badescunicu Sep 10, 2014
358e074
Add getEQEffectRack method to EffectsManager
badescunicu Sep 10, 2014
0343ab6
Use getEQEffectRack method inside DlgPrefEQ
badescunicu Sep 10, 2014
fb70322
Add getEQEffectRackNumber method to EffectsManager
badescunicu Sep 12, 2014
490dcd6
Rename checkBox_bypass to CheckBoxBypass
badescunicu Sep 12, 2014
e47fe35
Use another approach at bypassing the EQ Rack
badescunicu Sep 12, 2014
ef107cc
Store the effects' ids as configs instead of their names
badescunicu Sep 12, 2014
dadb9eb
Merge remote-tracking branch 'upstream/master' into eq_rack2
daschuer Oct 15, 2014
c970a8c
Repopulate DeckEffectSelectors
daschuer Oct 15, 2014
aebed5b
retrain the selected effect when chaning filter showAll
daschuer Oct 16, 2014
61d8287
some refectoring in advanced to new enableWaveformEQ
daschuer Oct 17, 2014
663c42c
Added new "enableWaveformEq" CO
daschuer Oct 18, 2014
f158fc7
some minor doc and style changes
daschuer Oct 19, 2014
615e6d2
Visualize the EQ Bypass in waveforms
daschuer Oct 26, 2014
8860815
Merge remote-tracking branch 'upstream/master' into eq_rack2
daschuer Nov 5, 2014
e86788f
Merge remote-tracking branch 'upstream/master' into eq_rack2
daschuer Nov 10, 2014
f8b09ec
renamed advaced checkbox to "Fill menus with the best suited effects …
daschuer Nov 10, 2014
a34a668
Shade: hide EQ Controls when no effect parameter loaded
daschuer Nov 14, 2014
c145760
Shade: remove wrong tooltips from effect Knobs
daschuer Nov 14, 2014
a1e2600
Merge remote-tracking branch 'upstream/master' into eq_rack2
daschuer Nov 14, 2014
547bad5
Merge remote-tracking branch 'upstream/master' into eq_rack2
daschuer Nov 14, 2014
141825f
Fix EqReset on track load after merge.
daschuer Nov 15, 2014
061eae4
EQPref: Reset everything on slotResetToDefaults
daschuer Nov 15, 2014
79ef7ba
remove not workin warning from getAvailableEffectNames() and getAvail…
daschuer Nov 15, 2014
5001e14
visualise the EQ Knobs only if a Mixing EQ is loaded
daschuer Nov 15, 2014
4ba6f32
Fixed Tests, by NULL initalise Pointers
daschuer Nov 15, 2014
7804e38
User Alias for the _loaded EQ controlls.
daschuer Nov 15, 2014
a67c211
Added EffectChainSlot::getChainSlotNumber()
daschuer Nov 16, 2014
26224b8
EffectsManager::addEqualizer() is now read for any group
daschuer Nov 16, 2014
bf1d681
user qDeleteAll in DlgPrefEQ::~DlgPrefEQ
daschuer Nov 16, 2014
31848c9
Changed config key to EffectForGroup_[ChannelX]
daschuer Nov 16, 2014
d80c098
introduce kDefaultEqId and convert other macros to consts as well
daschuer Nov 16, 2014
f504a17
Fix WaveformEqCo value after startup
daschuer Nov 16, 2014
dcb7830
Fix use of slotUpdate()
daschuer Nov 16, 2014
d19f2a4
getEQEffectRackNumber() reflexs now the o based index like all othe N…
daschuer Nov 16, 2014
4227f18
renamed enableWaveformEQ to fliterWaveformEnable to match prefix
daschuer Nov 16, 2014
a58fde4
fixesd bypass default
daschuer Nov 16, 2014
e8df768
Introduced getEffectNamesFiltered for custom filtered effect lists
daschuer Nov 16, 2014
85a1051
Merge remote-tracking branch 'upstream/master' into eq_rack2
daschuer Nov 16, 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
1 change: 0 additions & 1 deletion build/depends.py
Original file line number Diff line number Diff line change
Expand Up @@ -581,7 +581,6 @@ def sources(self, build):
"engine/enginebufferscale.cpp",
"engine/enginebufferscaledummy.cpp",
"engine/enginebufferscalelinear.cpp",
"engine/enginefilterblock.cpp",
"engine/enginefilterbiquad1.cpp",
"engine/enginefiltermoogladder4.cpp",
"engine/enginefilterbessel4.cpp",
Expand Down
1 change: 0 additions & 1 deletion res/skins/Shade/effect_parameter_knob.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@
<Size>38,26</Size>
<Children>
<Knob>
<TooltipId>master_volume</TooltipId>
<Style></Style>
<NumberStates>64</NumberStates>
<Path>knobs/knob_rotary_s%1.png</Path>
Expand Down
48 changes: 48 additions & 0 deletions res/skins/Shade/mixer_panel.xml
Original file line number Diff line number Diff line change
Expand Up @@ -426,6 +426,10 @@
<EmitOnPressAndRelease>true</EmitOnPressAndRelease>
<ButtonState>LeftButton</ButtonState>
</Connection>
<Connection>
<ConfigKey>[Channel1],filterHighKill_loaded</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</PushButton>
<PushButton>
<TooltipId>filterMidKill</TooltipId>
Expand All @@ -447,6 +451,10 @@
<EmitOnPressAndRelease>true</EmitOnPressAndRelease>
<ButtonState>LeftButton</ButtonState>
</Connection>
<Connection>
<ConfigKey>[Channel1],filterMidKill_loaded</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</PushButton>
<PushButton>
<TooltipId>filterLowKill</TooltipId>
Expand All @@ -468,6 +476,10 @@
<EmitOnPressAndRelease>true</EmitOnPressAndRelease>
<ButtonState>LeftButton</ButtonState>
</Connection>
<Connection>
<ConfigKey>[Channel1],filterLowKill_loaded</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</PushButton>

<PushButton>
Expand All @@ -490,6 +502,10 @@
<EmitOnPressAndRelease>true</EmitOnPressAndRelease>
<ButtonState>LeftButton</ButtonState>
</Connection>
<Connection>
<ConfigKey>[Channel2],filterHighKill_loaded</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</PushButton>
<PushButton>
<TooltipId>filterMidKill</TooltipId>
Expand All @@ -511,6 +527,10 @@
<EmitOnPressAndRelease>true</EmitOnPressAndRelease>
<ButtonState>LeftButton</ButtonState>
</Connection>
<Connection>
<ConfigKey>[Channel2],filterMidKill_loaded</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</PushButton>
<PushButton>
<TooltipId>filterLowKill</TooltipId>
Expand All @@ -532,6 +552,10 @@
<EmitOnPressAndRelease>true</EmitOnPressAndRelease>
<ButtonState>LeftButton</ButtonState>
</Connection>
<Connection>
<ConfigKey>[Channel2],filterLowKill_loaded</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</PushButton>

<!--
Expand Down Expand Up @@ -668,6 +692,10 @@
<Connection>
<ConfigKey>[Channel1],filterHigh</ConfigKey>
</Connection>
<Connection>
<ConfigKey>[Channel1],filterHigh_loaded</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</Knob>
<Knob>
<TooltipId>filterMid</TooltipId>
Expand All @@ -678,6 +706,10 @@
<Connection>
<ConfigKey>[Channel1],filterMid</ConfigKey>
</Connection>
<Connection>
<ConfigKey>[Channel1],filterMid_loaded</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</Knob>
<Knob>
<TooltipId>filterLow</TooltipId>
Expand All @@ -688,6 +720,10 @@
<Connection>
<ConfigKey>[Channel1],filterLow</ConfigKey>
</Connection>
<Connection>
<ConfigKey>[Channel1],filterLow_loaded</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</Knob>

<Knob>
Expand All @@ -709,6 +745,10 @@
<Connection>
<ConfigKey>[Channel2],filterHigh</ConfigKey>
</Connection>
<Connection>
<ConfigKey>[Channel2],filterHigh_loaded</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</Knob>
<Knob>
<TooltipId>filterMid</TooltipId>
Expand All @@ -719,6 +759,10 @@
<Connection>
<ConfigKey>[Channel2],filterMid</ConfigKey>
</Connection>
<Connection>
<ConfigKey>[Channel2],filterMid_loaded</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</Knob>
<Knob>
<TooltipId>filterLow</TooltipId>
Expand All @@ -729,6 +773,10 @@
<Connection>
<ConfigKey>[Channel2],filterLow</ConfigKey>
</Connection>
<Connection>
<ConfigKey>[Channel2],filterLow_loaded</ConfigKey>
<BindProperty>visible</BindProperty>
</Connection>
</Knob>

<!--
Expand Down
2 changes: 1 addition & 1 deletion res/skins/Shade/skin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -545,8 +545,8 @@
<LibrarySidebar></LibrarySidebar>
<!--Cover Art-->
<CoverArt>
<MinimumSize>16,16</MinimumSize>
<SizePolicy>me,me</SizePolicy>
<MinimumSize>100,100</MinimumSize>
<Connection>
<ConfigKey persist="true">[Library],show_coverart</ConfigKey>
<BindProperty>visible</BindProperty>
Expand Down
28 changes: 24 additions & 4 deletions src/basetrackplayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,13 @@ BaseTrackPlayer::BaseTrackPlayer(QObject* pParent,
: BasePlayer(pParent, group),
m_pConfig(pConfig),
m_pLoadedTrack(),
m_replaygainPending(false) {
m_replaygainPending(false),
m_pLowFilter(NULL),
m_pMidFilter(NULL),
m_pHighFilter(NULL),
m_pLowFilterKill(NULL),
m_pMidFilterKill(NULL),
m_pHighFilterKill(NULL) {
m_pChannel = new EngineDeck(getGroup(), pConfig, pMixingEngine,
pEffectsManager, defaultOrientation);

Expand Down Expand Up @@ -73,9 +79,7 @@ BaseTrackPlayer::BaseTrackPlayer(QObject* pParent,

m_pEndOfTrack = new ControlObject(ConfigKey(group, "end_of_track"));
m_pEndOfTrack->set(0.);
m_pLowFilter = new ControlObjectSlave(group,"filterLow");
m_pMidFilter = new ControlObjectSlave(group,"filterMid");
m_pHighFilter = new ControlObjectSlave(group,"filterHigh");

m_pPreGain = new ControlObjectSlave(ConfigKey(group, "pregain"));
//BPM of the current song
m_pBPM = new ControlObjectThread(group, "file_bpm");
Expand Down Expand Up @@ -108,6 +112,9 @@ BaseTrackPlayer::~BaseTrackPlayer()
delete m_pLowFilter;
delete m_pMidFilter;
delete m_pHighFilter;
delete m_pLowFilterKill;
delete m_pMidFilterKill;
delete m_pHighFilterKill;
delete m_pPreGain;
}

Expand Down Expand Up @@ -256,6 +263,9 @@ void BaseTrackPlayer::slotFinishLoading(TrackPointer pTrackInfoObject)
m_pLowFilter->set(1.0);
m_pMidFilter->set(1.0);
m_pHighFilter->set(1.0);
m_pLowFilterKill->set(0.0);
m_pMidFilterKill->set(0.0);
m_pHighFilterKill->set(0.0);
m_pPreGain->set(1.0);
}

Expand Down Expand Up @@ -286,3 +296,13 @@ void BaseTrackPlayer::slotPlayToggled(double v) {
EngineDeck* BaseTrackPlayer::getEngineDeck() const {
return m_pChannel;
}

void BaseTrackPlayer::setupEqControlls() {
const QString group = getGroup();
m_pLowFilter = new ControlObjectSlave(group,"filterLow");
m_pMidFilter = new ControlObjectSlave(group,"filterMid");
m_pHighFilter = new ControlObjectSlave(group,"filterHigh");
m_pLowFilterKill = new ControlObjectSlave(group,"filterLowKill");
m_pMidFilterKill = new ControlObjectSlave(group,"filterMidKill");
m_pHighFilterKill = new ControlObjectSlave(group,"filterHighKill");
}
5 changes: 5 additions & 0 deletions src/basetrackplayer.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ class BaseTrackPlayer : public BasePlayer {
// connected. Delete me when EngineMaster supports AudioInput assigning.
EngineDeck* getEngineDeck() const;

void setupEqControlls();

public slots:
void slotLoadTrack(TrackPointer track, bool bPlay=false);
void slotFinishLoading(TrackPointer pTrackInfoObject);
Expand Down Expand Up @@ -66,6 +68,9 @@ class BaseTrackPlayer : public BasePlayer {
ControlObjectSlave* m_pLowFilter;
ControlObjectSlave* m_pMidFilter;
ControlObjectSlave* m_pHighFilter;
ControlObjectSlave* m_pLowFilterKill;
ControlObjectSlave* m_pMidFilterKill;
ControlObjectSlave* m_pHighFilterKill;
ControlObjectSlave* m_pPreGain;
EngineDeck* m_pChannel;

Expand Down
2 changes: 0 additions & 2 deletions src/configobject.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,6 @@ template <class ValueType> bool ConfigObject<ValueType>::Parse()
return true;
}


template <class ValueType> void ConfigObject<ValueType>::clear()
{
//Delete the pointers, because that's what we did before we
Expand Down Expand Up @@ -398,7 +397,6 @@ QString ConfigObject<ValueType>::getResourcePath() {
return qResourcePath;
}


template <class ValueType> ConfigObject<ValueType>::ConfigObject(QDomNode node) {

if (!node.isNull() && node.isElement()) {
Expand Down
1 change: 0 additions & 1 deletion src/configobject.h
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,6 @@ class ConfigValue {
friend bool operator==(const ConfigValue& s1, const ConfigValue& s2);
};


class ConfigValueKbd : public ConfigValue {
public:
ConfigValueKbd();
Expand Down
2 changes: 1 addition & 1 deletion src/controleffectknob.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ ControlEffectKnob::ControlEffectKnob(ConfigKey key, double dMinValue, double dMa

void ControlEffectKnob::setBehaviour(EffectManifestParameter::ControlHint type,
double dMinValue, double dMaxValue) {
if ( m_pControl == NULL) {
if (m_pControl == NULL) {
return;
}

Expand Down
Loading