fader shall not have the same value but only use the increment from the moved fader
This commit is contained in:
parent
c926db8360
commit
284e306cf9
3 changed files with 18 additions and 11 deletions
|
@ -21,10 +21,10 @@
|
||||||
|
|
||||||
|
|
||||||
TODO grouping does not work as expected:
|
TODO grouping does not work as expected:
|
||||||
- fader shall not have the same value but only use the increment from the moved fader
|
|
||||||
- vertical space between check boxes should be smaller
|
- vertical space between check boxes should be smaller
|
||||||
- get rid of bIsSelected
|
- get rid of bIsSelected
|
||||||
|
|
||||||
|
TODO minimum height of faders (dependent on style)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -313,6 +313,7 @@ void CChannelFader::Reset()
|
||||||
|
|
||||||
// init gain and pan value -> maximum value as definition according to server
|
// init gain and pan value -> maximum value as definition according to server
|
||||||
pFader->setValue ( AUD_MIX_FADER_MAX );
|
pFader->setValue ( AUD_MIX_FADER_MAX );
|
||||||
|
iPreviousFaderLevel = AUD_MIX_FADER_MAX;
|
||||||
pPan->setValue ( AUD_MIX_PAN_MAX / 2 );
|
pPan->setValue ( AUD_MIX_PAN_MAX / 2 );
|
||||||
|
|
||||||
// reset mute/solo/select check boxes and level meter
|
// reset mute/solo/select check boxes and level meter
|
||||||
|
@ -405,7 +406,9 @@ void CChannelFader::SendFaderLevelToServer ( const int iLevel )
|
||||||
( !bOtherChannelIsSolo || IsSolo() ) )
|
( !bOtherChannelIsSolo || IsSolo() ) )
|
||||||
{
|
{
|
||||||
// emit signal for new fader gain value
|
// emit signal for new fader gain value
|
||||||
emit gainValueChanged ( CalcFaderGain ( iLevel ), bIsMyOwnFader );
|
emit gainValueChanged ( CalcFaderGain ( iLevel ), bIsMyOwnFader, iLevel - iPreviousFaderLevel );
|
||||||
|
|
||||||
|
iPreviousFaderLevel = iLevel;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -425,7 +428,7 @@ void CChannelFader::SetMute ( const bool bState )
|
||||||
if ( bState )
|
if ( bState )
|
||||||
{
|
{
|
||||||
// mute channel -> send gain of 0
|
// mute channel -> send gain of 0
|
||||||
emit gainValueChanged ( 0, bIsMyOwnFader );
|
emit gainValueChanged ( 0, bIsMyOwnFader, 0 );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -433,7 +436,7 @@ void CChannelFader::SetMute ( const bool bState )
|
||||||
if ( !bOtherChannelIsSolo || IsSolo() )
|
if ( !bOtherChannelIsSolo || IsSolo() )
|
||||||
{
|
{
|
||||||
// mute was unchecked, get current fader value and apply
|
// mute was unchecked, get current fader value and apply
|
||||||
emit gainValueChanged ( CalcFaderGain ( GetFaderLevel() ), bIsMyOwnFader );
|
emit gainValueChanged ( CalcFaderGain ( GetFaderLevel() ), bIsMyOwnFader, 0 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -698,7 +701,7 @@ inline void CAudioMixerBoard::connectFaderSignalsToMixerBoardSlots()
|
||||||
{
|
{
|
||||||
int iCurChanID = slotId - 1;
|
int iCurChanID = slotId - 1;
|
||||||
|
|
||||||
void ( CAudioMixerBoard::* pGainValueChanged )( double, bool ) =
|
void ( CAudioMixerBoard::* pGainValueChanged )( double, bool, int ) =
|
||||||
&CAudioMixerBoardSlots<slotId>::OnChGainValueChanged;
|
&CAudioMixerBoardSlots<slotId>::OnChGainValueChanged;
|
||||||
|
|
||||||
void ( CAudioMixerBoard::* pPanValueChanged )( double ) =
|
void ( CAudioMixerBoard::* pPanValueChanged )( double ) =
|
||||||
|
@ -1029,7 +1032,8 @@ void CAudioMixerBoard::UpdateSoloStates()
|
||||||
|
|
||||||
void CAudioMixerBoard::UpdateGainValue ( const int iChannelIdx,
|
void CAudioMixerBoard::UpdateGainValue ( const int iChannelIdx,
|
||||||
const double dValue,
|
const double dValue,
|
||||||
const bool bIsMyOwnFader )
|
const bool bIsMyOwnFader,
|
||||||
|
const int iDiffLevel )
|
||||||
{
|
{
|
||||||
// update current gain
|
// update current gain
|
||||||
emit ChangeChanGain ( iChannelIdx, dValue, bIsMyOwnFader );
|
emit ChangeChanGain ( iChannelIdx, dValue, bIsMyOwnFader );
|
||||||
|
@ -1048,7 +1052,7 @@ void CAudioMixerBoard::UpdateGainValue ( const int iChannelIdx,
|
||||||
vecpChanFader[i]->SetFaderIsSelect ( false );
|
vecpChanFader[i]->SetFaderIsSelect ( false );
|
||||||
|
|
||||||
// "move" faders with moving fader level
|
// "move" faders with moving fader level
|
||||||
vecpChanFader[i]->SetFaderLevel ( vecpChanFader[iChannelIdx]->GetFaderLevel() );
|
vecpChanFader[i]->SetFaderLevel ( vecpChanFader[i]->GetFaderLevel() + iDiffLevel );
|
||||||
|
|
||||||
// back to selected status
|
// back to selected status
|
||||||
vecpChanFader[i]->SetFaderIsSelect ( true );
|
vecpChanFader[i]->SetFaderIsSelect ( true );
|
||||||
|
|
|
@ -111,6 +111,7 @@ protected:
|
||||||
bool bOtherChannelIsSolo;
|
bool bOtherChannelIsSolo;
|
||||||
bool bIsMyOwnFader;
|
bool bIsMyOwnFader;
|
||||||
bool bIsSelected;
|
bool bIsSelected;
|
||||||
|
int iPreviousFaderLevel;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void OnLevelValueChanged ( int value ) { SendFaderLevelToServer ( value ); }
|
void OnLevelValueChanged ( int value ) { SendFaderLevelToServer ( value ); }
|
||||||
|
@ -119,7 +120,7 @@ public slots:
|
||||||
void OnSelectStateChanged ( int value );
|
void OnSelectStateChanged ( int value );
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void gainValueChanged ( double value, bool bIsMyOwnFader );
|
void gainValueChanged ( double value, bool bIsMyOwnFader, int iDiffLevel );
|
||||||
void panValueChanged ( double value );
|
void panValueChanged ( double value );
|
||||||
void soloStateChanged ( int value );
|
void soloStateChanged ( int value );
|
||||||
};
|
};
|
||||||
|
@ -128,13 +129,14 @@ template<unsigned int slotId>
|
||||||
class CAudioMixerBoardSlots : public CAudioMixerBoardSlots<slotId - 1>
|
class CAudioMixerBoardSlots : public CAudioMixerBoardSlots<slotId - 1>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void OnChGainValueChanged ( double dValue, bool bIsMyOwnFader ) { UpdateGainValue ( slotId - 1, dValue, bIsMyOwnFader ); }
|
void OnChGainValueChanged ( double dValue, bool bIsMyOwnFader, int iDiffLevel ) { UpdateGainValue ( slotId - 1, dValue, bIsMyOwnFader, iDiffLevel ); }
|
||||||
void OnChPanValueChanged ( double dValue ) { UpdatePanValue ( slotId - 1, dValue ); }
|
void OnChPanValueChanged ( double dValue ) { UpdatePanValue ( slotId - 1, dValue ); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void UpdateGainValue ( const int iChannelIdx,
|
virtual void UpdateGainValue ( const int iChannelIdx,
|
||||||
const double dValue,
|
const double dValue,
|
||||||
const bool bIsMyOwnFader ) = 0;
|
const bool bIsMyOwnFader,
|
||||||
|
const int iDiffLevel ) = 0;
|
||||||
virtual void UpdatePanValue ( const int iChannelIdx,
|
virtual void UpdatePanValue ( const int iChannelIdx,
|
||||||
const double dValue ) = 0;
|
const double dValue ) = 0;
|
||||||
};
|
};
|
||||||
|
@ -223,7 +225,8 @@ protected:
|
||||||
|
|
||||||
virtual void UpdateGainValue ( const int iChannelIdx,
|
virtual void UpdateGainValue ( const int iChannelIdx,
|
||||||
const double dValue,
|
const double dValue,
|
||||||
const bool bIsMyOwnFader );
|
const bool bIsMyOwnFader,
|
||||||
|
const int iDiffLevel );
|
||||||
virtual void UpdatePanValue ( const int iChannelIdx,
|
virtual void UpdatePanValue ( const int iChannelIdx,
|
||||||
const double dValue );
|
const double dValue );
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue