199 lines
6.9 KiB
C++
199 lines
6.9 KiB
C++
#include "rm_frame_eq.h"
|
|
#if !(DO_NOT_USE_EQ)
|
|
|
|
#include "rm_slider.h"
|
|
#include "fm_button.h"
|
|
#include "fm_layer.h"
|
|
#include "../core/rm_player.h"
|
|
#include "../core/fm_strings.h"
|
|
#include "fm_colors.h"
|
|
#if (PLAYER_ONLY_LIBRARY_MODE)
|
|
#include "window_main.h"
|
|
#endif // PLAYER_ONLY_LIBRARY_MODE
|
|
|
|
RMFrameEQ::RMFrameEQ(QWidget *parent) : RMWidgetBase(parent,true)
|
|
{
|
|
_createLayouts();
|
|
|
|
}
|
|
void RMFrameEQ::_createLayouts()
|
|
{
|
|
RMPlayer* player = RMPlayer::instance();
|
|
|
|
layout = new QHBoxLayout(this);
|
|
ZERO_LAYOUT(layout);
|
|
layout->setAlignment(Qt::AlignVCenter);
|
|
|
|
LAYOUT_SPACE(layout,4,0);
|
|
QSize btnSize = QSize(30,30);
|
|
const int sliderWidth = 114;
|
|
const int space = 20;
|
|
|
|
#if (LIVE_LANGUAGE2)
|
|
contrastBtn = FMButton::btn2(this,layout,"v_constrast","contrast",btnSize);
|
|
#else // LIVE_LANGUAGE2
|
|
contrastBtn = FMButton::btn(this,layout,"v_constrast",FMS::txt("contrast"),btnSize);
|
|
#endif // LIVE_LANGUAGE2
|
|
|
|
contrastSlider = new RMSlider(this);
|
|
contrastSlider->setValue(50);
|
|
contrastSlider->setFixedWidth(sliderWidth);
|
|
FMSlider(contrastSlider,"small_slider",FM_SILDER_COLOR,0x666666,true);
|
|
layout->addWidget(contrastSlider);
|
|
connect(contrastBtn,SIGNAL(clicked()),SLOT(onDefaultContrast()));
|
|
|
|
|
|
LAYOUT_SPACE(layout,space,0);
|
|
#if (LIVE_LANGUAGE2)
|
|
brightnessBtn = FMButton::btn2(this,layout,"v_brightness","brightness",btnSize);
|
|
#else // LIVE_LANGUAGE2
|
|
brightnessBtn = FMButton::btn(this,layout,"v_brightness",FMS::txt("brightness"),btnSize);
|
|
#endif // LIVE_LANGUAGE2
|
|
brightnessSlider = new RMSlider(this);
|
|
brightnessSlider->setValue(50);
|
|
brightnessSlider->setFixedWidth(sliderWidth);
|
|
FMSlider(brightnessSlider,"small_slider",FM_SILDER_COLOR,0x666666,true);
|
|
layout->addWidget(brightnessSlider);
|
|
connect(brightnessBtn,SIGNAL(clicked()),SLOT(onDefaultBrightness()));
|
|
|
|
connect(brightnessSlider, SIGNAL(sliderPressed()),player, SLOT(onSetBrightness()));
|
|
connect(brightnessSlider, SIGNAL(valueChanged(int)),player, SLOT(onSetBrightness()));
|
|
|
|
connect(contrastSlider, SIGNAL(sliderPressed()),player, SLOT(onSetContrast()));
|
|
connect(contrastSlider, SIGNAL(valueChanged(int)),player, SLOT(onSetContrast()));
|
|
|
|
#if !(RM_MODEL == RM_MODEL_TYPE_TB4000)
|
|
LAYOUT_SPACE(layout,space,0);
|
|
#if (LIVE_LANGUAGE2)
|
|
volumeBtn = FMButton::btnCheck2(this,layout,"v_volume","volume_mute",btnSize);
|
|
#else // LIVE_LANGUAGE2
|
|
volumeBtn = FMButton::btnCheck(this,layout,"v_volume",FMS::txt("volume_mute"),btnSize);
|
|
#endif // LIVE_LANGUAGE2
|
|
volumeBtn->setCheckable(true);
|
|
connect(volumeBtn,SIGNAL(clicked()),player,SLOT(onMute()));
|
|
|
|
volumeSlider = new RMSlider(this);
|
|
volumeSlider->setMinimum(0);
|
|
volumeSlider->setMaximum(100);
|
|
volumeSlider->setValue(50);
|
|
volumeSlider->setFixedWidth(sliderWidth);
|
|
FMSlider(volumeSlider,"small_slider",FM_SILDER_COLOR,0x666666,true);
|
|
layout->addWidget(volumeSlider);
|
|
|
|
connect(volumeSlider, SIGNAL(sliderPressed()),player, SLOT(onSetVolume()));
|
|
connect(volumeSlider, SIGNAL(valueChanged(int)),player, SLOT(onSetVolume()));
|
|
#endif // #if !(RM_MODEL == RM_MODEL_TYPE_TB4000)
|
|
|
|
LAYOUT_SPACE(layout,space,0);
|
|
#if (LIVE_LANGUAGE2)
|
|
speedBtn = FMButton::btn2(this,layout,"v_speed","play_speed",btnSize);
|
|
#else // LIVE_LANGUAGE2
|
|
speedBtn = FMButton::btn(this,layout,"v_speed",FMS::txt("play_speed"),btnSize);
|
|
#endif // LIVE_LANGUAGE2
|
|
connect(speedBtn,SIGNAL(clicked()),SLOT(onDefaultSpeed()));
|
|
speedSlider = new RMReleasedSlider(this);
|
|
speedSlider->setTickInterval(1);
|
|
speedSlider->setValue(DEFAULT_SPEED_INDEX); // 1.0 = 2
|
|
speedSlider->setRange(0,PLAY_SPEED_COUNT-1);
|
|
speedSlider->setFixedWidth(sliderWidth);
|
|
FMSlider(speedSlider,"small_slider",FM_SILDER_COLOR,0x666666,true);
|
|
layout->addWidget(speedSlider);
|
|
|
|
LAYOUT_SPACE(layout,5,0);
|
|
speedLabel = new QLabel(this);
|
|
speedLabel->setAlignment(Qt::AlignCenter);
|
|
FMLabelBackground(speedLabel,"speed_label","Arial",0xf5f5f5,11,false,FM_SPEED_LABEL_BACK_COLOR); // 0x262626
|
|
speedLabel->setText("1 x");
|
|
|
|
speedLabel->setFixedSize(25,16);
|
|
layout->addWidget(speedLabel);
|
|
|
|
RMPlayer::instance()->setSpeedSlider(speedSlider,speedLabel);
|
|
#if !(RM_MODEL == RM_MODEL_TYPE_TB4000)
|
|
RMPlayer::instance()->setVolumeSlider(volumeSlider);
|
|
RMPlayer::instance()->setMuteButton(volumeBtn);
|
|
#endif // #if !(RM_MODEL == RM_MODEL_TYPE_TB4000)
|
|
|
|
connect(player,SIGNAL(playEvent(PLAY_EVENT,RMVideoItem*)),SLOT(onPlayEvent(PLAY_EVENT,RMVideoItem*)));
|
|
|
|
#if (PLAYER_ONLY_LIBRARY_MODE)
|
|
layout->addItem(new QSpacerItem(10,0));
|
|
previousButton = FMButton::btn(this,layout,"vt_prev_file","play_file_previous",QSize(52,26));
|
|
connect(previousButton, SIGNAL(released()),this,SLOT(onPlayPrevious()));
|
|
|
|
playButton = FMButton::btnCheck(this,layout,"splay_play","play_play",QSize(52,26));
|
|
connect(playButton, SIGNAL(released()),this,SLOT(onPlayOrPause()));
|
|
|
|
nextButton = FMButton::btn(this,layout,"vt_next_file","play_file_next",QSize(52,26));
|
|
connect(nextButton, SIGNAL(released()),this,SLOT(onPlayNext()));
|
|
#endif // LIBRARY_MODE
|
|
|
|
}
|
|
|
|
#if (PLAYER_ONLY_LIBRARY_MODE)
|
|
void RMFrameEQ::onPlayOrPause()
|
|
{
|
|
playButton->blockFor(150);
|
|
RMPlayer::instance()->onPlayOrPause();
|
|
}
|
|
void RMFrameEQ::onPlayPrevious()
|
|
{
|
|
RMPlayer::instance()->stop();
|
|
WindowMain* p = qobject_cast<WindowMain*>(RMApp::instance()->pMainWindow);
|
|
p->_onTB5000(1);
|
|
}
|
|
void RMFrameEQ::onPlayNext()
|
|
{
|
|
RMPlayer::instance()->stop();
|
|
WindowMain* p = qobject_cast<WindowMain*>(RMApp::instance()->pMainWindow);
|
|
p->_onTB5000(2);
|
|
}
|
|
#endif // #if (PLAYER_ONLY_LIBRARY_MODE)
|
|
|
|
|
|
RMFrameEQ::~RMFrameEQ()
|
|
{
|
|
|
|
}
|
|
void RMFrameEQ::onPlayEvent(PLAY_EVENT event,RMVideoItem* item)
|
|
{
|
|
Q_UNUSED(item);
|
|
if (event == PLAY_DID_MUTED || event == PLAY_DID_UNMUTED)
|
|
{
|
|
#if !(RM_MODEL == RM_MODEL_TYPE_TB4000)
|
|
bool bMuted = event == PLAY_DID_MUTED;
|
|
// ミュートの解除 MKU8("\xe3\x83\x9f\xe3\x83\xa5\xe3\x83\xbc\xe3\x83\x88\xe3\x81\xae\xe8\xa7\xa3\xe9\x99\xa4")
|
|
volumeBtn->setToolTip(bMuted ? FMS::txt("volume_un_mute") : FMS::txt("volume_mute"));
|
|
volumeSlider->setEnabled(!bMuted);
|
|
|
|
volumeBtn->setChecked(bMuted);
|
|
//qInfo() << __FUNCTION__ << bMuted;
|
|
#endif // #if !(RM_MODEL == RM_MODEL_TYPE_TB4000)
|
|
}
|
|
#if (PLAYER_ONLY_LIBRARY_MODE)
|
|
if(event == PLAY_DID_PAUSED || event == PLAY_DID_PLAYED || event == PLAY_DID_CLEARED)
|
|
{
|
|
bool bShowPaused = (event == PLAY_DID_PLAYED);
|
|
playButton->setChecked(bShowPaused);
|
|
playButton->setToolTip(bShowPaused ? FMS::txt("play_pause") :FMS::txt("play_play"));
|
|
}
|
|
#endif // #if (PLAYER_ONLY_LIBRARY_MODE)
|
|
|
|
}
|
|
void RMFrameEQ::onDefaultSpeed()
|
|
{
|
|
speedSlider->setValue(DEFAULT_SPEED_INDEX);
|
|
RMPlayer::instance()->updateSpeedForce(1.0);
|
|
speedLabel->setText("1 x");
|
|
}
|
|
void RMFrameEQ::onDefaultBrightness()
|
|
{
|
|
brightnessSlider->setValue(50);
|
|
}
|
|
void RMFrameEQ::onDefaultContrast()
|
|
{
|
|
contrastSlider->setValue(50);
|
|
}
|
|
#endif // #if !(DO_NOT_USE_EQ)
|
|
|