46#define MIXERLINE_WIDTH 56
47#define MIXERLINE_HEIGHT 254
48#define MASTERMIXERLINE_WIDTH 126
49#define MASTERMIXERLINE_HEIGHT 284
50#define MIXERLINE_LABEL_H 115
51#define MASTERMIXERLINE_FADER_H 75
67 std::shared_ptr<Action> pAction;
72 setPixmap(
"/mixerPanel/mixerline_background.png" );
97 m_pMuteBtn->setObjectName(
"MixerMuteButton" );
99 pAction = std::make_shared<Action>(
"STRIP_MUTE_TOGGLE");
100 pAction->setParameter1( QString::number(nInstr ));
106 m_pSoloBtn->setObjectName(
"MixerSoloButton" );
108 pAction = std::make_shared<Action>(
"STRIP_SOLO_TOGGLE");
109 pAction->setParameter1( QString::number(nInstr ));
117 pAction = std::make_shared<Action>(
"PAN_ABSOLUTE");
118 pAction->setParameter1( QString::number(nInstr ));
119 pAction->setValue( QString::number( 0 ));
124 for ( uint i = 0; i <
MAX_FX; i++ ) {
127 pAction = std::make_shared<Action>(
"EFFECT_LEVEL_ABSOLUTE" );
128 pAction->setParameter1( QString::number( nInstr ) );
129 pAction->setParameter2( QString::number( i ) );
131 if ( (i % 2) == 0 ) {
144 fFalloffTemp = (fFalloffTemp * 20) - 2;
147 QPixmap textBackground;
148 bool ok = textBackground.load(
Skin::getImagePath() +
"/mixerPanel/mixerline_text_background.png" );
165 pAction = std::make_shared<Action>(
"STRIP_VOLUME_ABSOLUTE");
166 pAction->setParameter1( QString::number(nInstr) );
175 lcdPalette.setColor( QPalette::Window, QColor( 49, 53, 61 ) );
222 double value = (double) pFader->
getValue();
224 QString sMessage = tr(
"Set volume [%1] of instrument" )
225 .arg( value, 0,
'f', 2 );
226 sMessage.append( QString(
" [%1]" )
228 QString sCaller = QString(
"%1:faderChanged:%2" )
232 showStatusBarMessage( sMessage, sCaller );
272 m_pPeakLCD->setText( QString(
"%1" ).arg( peak, 0,
'f', 2 ) );
296 m_pPeakLCD->setText( QString(
"%1" ).arg( peak, 0,
'f', 2 ) );
356 for ( uint i = 0; i <
MAX_FX; i++ ) {
367 ERRORLOG( QString(
"[setFXLevel] nFX >= MAX_FX (nFX=%1)").arg(nFX) );
376 ERRORLOG( QString(
"[setFXLevel] nFX >= MAX_FX (nFX=%1)").arg(nFX) );
412 setPixmap(
"/mixerPanel/componentmixerline_background.png" );
427 fFalloffTemp = (fFalloffTemp * 20) - 2;
430 QPixmap textBackground;
431 bool ok = textBackground.load(
Skin::getImagePath() +
"/mixerPanel/mixerline_text_background.png" );
457 lcdPalette.setColor( QPalette::Window, QColor( 49, 53, 61 ) );
503 double value = (double) pFader->
getValue();
505 QString sMessage = tr(
"Set volume [%1] of component" )
506 .arg( value, 0,
'f', 2 );
507 sMessage.append( QString(
" [%1]" )
509 QString sCaller = QString(
"%1:faderChanged:%2" )
513 showStatusBarMessage( sMessage, sCaller );
553 m_pPeakLCD->setText( QString(
"%1" ).arg( peak, 0,
'f', 2 ) );
577 m_pPeakLCD->setText( QString(
"%1" ).arg( peak, 0,
'f', 2 ) );
608 QPalette defaultPalette;
609 defaultPalette.setColor( QPalette::Window, QColor( 58, 62, 72 ) );
610 this->setPalette( defaultPalette );
613 setPixmap(
"/mixerPanel/masterMixerline_background.png" );
618 fFalloffTemp = (fFalloffTemp * 20) - 2;
625 std::shared_ptr<Action> pAction = std::make_shared<Action>(
"MASTER_VOLUME_ABSOLUTE");
633 lcdPalette.setColor( QPalette::Window, QColor( 49, 53, 61 ) );
650 m_pMuteBtn->setObjectName(
"MixerMasterMuteButton" );
653 pAction = std::make_shared<Action>(
"MUTE_TOGGLE");
689 double value = (double) pFader->
getValue();
691 showStatusBarMessage( tr(
"Set master volume [%1]" )
692 .arg( value, 0,
'f', 2 ),
693 QString(
"%1:faderChanged" )
738 m_pPeakLCD->setText( QString(
"%1" ).arg( peak, 0,
'f', 2 ) );
782 m_pMuteBtn->setChecked( pSong->getIsMuted() );
797 QString sCaller = QString(
"%1:rotaryChanged" ).arg(
class_name() );
798 double fVal = (double) pRotary->
getValue();
804 pHydrogen->
getSong()->setHumanizeTimeValue( fVal );
805 sMsg = tr(
"Set humanize time param [%1]" ).arg( fVal, 0,
'f', 2 );
806 sCaller.append(
":humanizeTime" );
809 pHydrogen->
getSong()->setHumanizeVelocityValue( fVal );
810 sMsg = tr(
"Set humanize vel. param [%1]" ).arg( fVal, 0,
'f', 2 );
811 sCaller.append(
":humanizeVelocity" );
814 pHydrogen->
getSong()->setSwingFactor( fVal );
815 sMsg = tr(
"Set swing factor [%1]").arg( fVal, 0,
'f', 2 );
816 sCaller.append(
":humanizeSwing" );
819 ERRORLOG(
"[knobChanged] Unhandled knob" );
839 setPixmap(
"/mixerPanel/mixerline_label_background.png" );
860 QFont font( pPref->getApplicationFontFamily(),
getPointSize( pPref->getFontSize() ) );
862 p.setPen( QColor(230, 230, 230) );
907 setMinimumSize( width(), height() );
908 setMaximumSize( width(), height() );
910 setPixmap(
"/mixerPanel/fxline_background.png" );
921 m_pEditBtn->setObjectName(
"MixerFXEditButton" );
929 m_pNameLCD->setToolTip( tr(
"Ladspa FX name" ) );
#define RIGHT_HERE
Macro intended to be used for the logging of the locking of the H2Core::AudioEngine.
#define MASTERMIXERLINE_WIDTH
#define MASTERMIXERLINE_FADER_H
#define MASTERMIXERLINE_HEIGHT
Custom QLabel that emits a signal when clicked.
void setMuteClicked(bool isClicked)
void setSoloClicked(bool isClicked)
void setVolume(float value)
void faderChanged(WidgetWithInput *ref)
void setPeak_R(float peak)
ComponentMixerLine(QWidget *parent, int CompoID)
void volumeChanged(ComponentMixerLine *ref)
InstrumentNameWidget * m_pNameWidget
void setPeak_L(float peak)
void setPeak_R(float peak)
void setPeak_L(float peak)
void unlock()
Mutex unlocking of the AudioEngine.
void lock(const char *file, unsigned int line, const char *function)
Mutex locking of the AudioEngine.
virtual const char * class_name() const
bool setMasterIsMuted(bool isMuted)
std::shared_ptr< Song > getSong() const
Get the current song.
static Hydrogen * get_instance()
Returns the current Hydrogen instance __instance.
AudioEngine * getAudioEngine() const
void setIsModified(bool bIsModified)
Wrapper around Song::setIsModified() that checks whether a song is set.
CoreActionController * getCoreActionController() const
Manager for User Preferences File (singleton)
float getMixerFalloffSpeed()
static Preferences * get_instance()
Returns a pointer to the current Preferences singleton stored in __instance.
Changes
Bitwise or-able options showing which part of the Preferences were altered using the PreferencesDialo...
@ Font
Either the font size or font family have changed.
static HydrogenApp * get_instance()
Returns the instance of HydrogenApp class.
void preferencesChanged(H2Core::Preferences::Changes changes)
Propagates a change in the Preferences through the GUI.
Non-interactive display used for both numerical values and the status display.
void setUseRedFont(bool bUseRedFont)
LED identicating a user selection.
void setActivated(bool bActivated)
ClickableLabel * m_pReturnLbl
void setPeaks(float fPeak_L, float fPeak_R)
void volumeChanged(LadspaFXMixerLine *ref)
void setVolume(float value)
void setName(QString name)
void setFxBypassed(bool active)
void getPeaks(float *fPeak_L, float *fPeak_R)
LadspaFXMixerLine(QWidget *parent)
void rotaryChanged(WidgetWithInput *ref)
ClickableLabel * m_pSwingLbl
void volumeChanged(MasterMixerLine *ref)
void faderChanged(WidgetWithInput *pRef)
ClickableLabel * m_pTimingLbl
void setVolume(float value)
Rotary * m_pHumanizeTimeRotary
void setPeak_R(float peak)
ClickableLabel * m_pVelocityLbl
void rotaryChanged(WidgetWithInput *pRef)
ClickableLabel * m_pMasterLbl
MasterMixerLine(QWidget *parent)
Rotary * m_pHumanizeVelocityRotary
void setPeak_L(float peak)
ClickableLabel * m_pHumanizeLbl
void setAction(std::shared_ptr< Action > pAction)
void instrumentNameSelected(MixerLine *ref)
void setMuteClicked(bool isClicked)
Button * m_pPlaySampleBtn
void instrumentNameClicked(MixerLine *ref)
void setSelected(bool bIsSelected)
void setSoloClicked(bool isClicked)
void setPlayClicked(bool clicked)
void panChanged(MixerLine *ref)
void setFXLevel(uint nFX, float fValue)
void noteOffClicked(MixerLine *ref)
void noteOnClicked(MixerLine *ref)
void setVolume(float value)
void faderChanged(WidgetWithInput *ref)
MixerLine(QWidget *parent, int nInstr)
float getFXLevel(uint nFX)
void setPeak_R(float peak)
Rotary * m_pFxRotary[MAX_FX]
LED * m_pTriggerSampleLED
void knobChanged(MixerLine *ref, int nKnob)
InstrumentNameWidget * m_pNameWidget
void setPeak_L(float peak)
void volumeChanged(MixerLine *ref)
@ Small
No arc will be drawn.
@ Center
The arc features a point at its upmost position.
@ Normal
The arc is of solid red color.
static QString getImagePath()
#define MAX_FX
Maximum number of effects.