changed GUI design (removed status bar and introduced status LEDs), added "Fancy GUI Design" switch in settings dialog

This commit is contained in:
Volker Fischer 2011-03-20 12:53:31 +00:00
parent 0adaca403f
commit 2dc520014a
27 changed files with 759 additions and 491 deletions

View file

@ -55,6 +55,7 @@ CChannelFader::CChannelFader ( QWidget* pNW,
" border-radius: 4px;" " border-radius: 4px;"
" padding: 4px;" " padding: 4px;"
" background-color: white;" " background-color: white;"
" color: black;"
" font: bold; }" ); " font: bold; }" );
// add user controls to grid // add user controls to grid
@ -151,6 +152,13 @@ void CChannelFader::SetGUIDesign ( const EGUIDesign eNewDesign )
pFader->setStyleSheet ( "" ); pFader->setStyleSheet ( "" );
pcbMute->setStyleSheet ( "" ); pcbMute->setStyleSheet ( "" );
pcbSolo->setStyleSheet ( "" ); pcbSolo->setStyleSheet ( "" );
/*
// TEST
pFader->setStyleSheet (
"QSlider::handle { image: url(:/png/fader/res/faderhandle.png); }" );
*/
pcbMute->setText ( "Mute" ); pcbMute->setText ( "Mute" );
pcbSolo->setText ( "Solo" ); pcbSolo->setText ( "Solo" );
break; break;
@ -331,6 +339,7 @@ void CAudioMixerBoard::SetGUIDesign ( const EGUIDesign eNewDesign )
switch ( eNewDesign ) switch ( eNewDesign )
{ {
case GD_ORIGINAL: case GD_ORIGINAL:
/*
// group box // group box
setStyleSheet ( setStyleSheet (
"QGroupBox { border-image: url(:/png/fader/res/mixerboardbackground.png) 34px 30px 40px 40px;" "QGroupBox { border-image: url(:/png/fader/res/mixerboardbackground.png) 34px 30px 40px 40px;"
@ -345,6 +354,7 @@ void CAudioMixerBoard::SetGUIDesign ( const EGUIDesign eNewDesign )
" background-color: transparent;" " background-color: transparent;"
" color: rgb(148, 148, 148); }" ); " color: rgb(148, 148, 148); }" );
layout()->setMargin ( 3 ); layout()->setMargin ( 3 );
*/
break; break;
default: default:

View file

@ -36,7 +36,7 @@ CClient::CClient ( const quint16 iPortNumber ) :
vstrIPAddress ( MAX_NUM_SERVER_ADDR_ITEMS, "" ), vstrIPAddress ( MAX_NUM_SERVER_ADDR_ITEMS, "" ),
strName ( "" ), strName ( "" ),
bOpenChatOnNewMessage ( true ), bOpenChatOnNewMessage ( true ),
eGUIDesign ( GD_STANDARD ), eGUIDesign ( GD_ORIGINAL ),
bDoAutoSockBufSize ( true ), bDoAutoSockBufSize ( true ),
#if defined ( __APPLE__ ) || defined ( __MACOSX ) #if defined ( __APPLE__ ) || defined ( __MACOSX )
// we assume on Mac always the preferred frame size works fine // we assume on Mac always the preferred frame size works fine

View file

@ -279,12 +279,6 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
cbGUIDesignFancy->setCheckState ( Qt::Checked ); cbGUIDesignFancy->setCheckState ( Qt::Checked );
} }
// TODO we disable the fancy GUI switch because the new design
// is not yet finished
cbGUIDesignFancy->setVisible ( false );
// "High Quality Audio" check box // "High Quality Audio" check box
if ( pClient->GetCELTHighQuality() ) if ( pClient->GetCELTHighQuality() )
{ {

View file

@ -113,10 +113,9 @@
#define MAX_NUM_SERVER_ADDR_ITEMS 6 #define MAX_NUM_SERVER_ADDR_ITEMS 6
// defines for LED input level meter // defines for LED input level meter
#define NUM_STEPS_INP_LEV_METER 10 #define NUM_STEPS_INP_LEV_METER 8
#define YELLOW_BOUND_INP_LEV_METER 7 #define RED_BOUND_INP_LEV_METER 7
#define RED_BOUND_INP_LEV_METER 9 #define YELLOW_BOUND_INP_LEV_METER 5
// maximum number of internet connections (channels) // maximum number of internet connections (channels)
// if you want to change this paramter, there has to be done code modifications // if you want to change this paramter, there has to be done code modifications
@ -129,7 +128,6 @@
// without any other changes in the code // without any other changes in the code
#define USED_NUM_CHANNELS 6 // used number channels for server #define USED_NUM_CHANNELS 6 // used number channels for server
// length of the moving average buffer for response time measurement // length of the moving average buffer for response time measurement
#define TIME_MOV_AV_RESPONSE 30 // seconds #define TIME_MOV_AV_RESPONSE 30 // seconds

View file

@ -34,7 +34,6 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
pClient ( pNCliP ), pClient ( pNCliP ),
QDialog ( parent, f ), QDialog ( parent, f ),
bUnreadChatMessage ( false ), bUnreadChatMessage ( false ),
iErrorStatusCounter ( 0 ),
ClientSettingsDlg ( pNCliP, parent ClientSettingsDlg ( pNCliP, parent
#ifdef _WIN32 #ifdef _WIN32
// this somehow only works reliable on Windows // this somehow only works reliable on Windows
@ -74,10 +73,6 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
QString strInpLevHAccText = tr ( "Input level meter" ); QString strInpLevHAccText = tr ( "Input level meter" );
QString strInpLevHAccDescr = tr ( "Simulates an analog LED level meter." ); QString strInpLevHAccDescr = tr ( "Simulates an analog LED level meter." );
TextLabelInputLevelL->setWhatsThis ( strInpLevH );
TextLabelInputLevelL->setToolTip ( strInpLevHTT );
TextLabelInputLevelR->setWhatsThis ( strInpLevH );
TextLabelInputLevelR->setToolTip ( strInpLevHTT );
MultiColorLEDBarInputLevelL->setWhatsThis ( strInpLevH ); MultiColorLEDBarInputLevelL->setWhatsThis ( strInpLevH );
MultiColorLEDBarInputLevelL->setAccessibleName ( strInpLevHAccText ); MultiColorLEDBarInputLevelL->setAccessibleName ( strInpLevHAccText );
MultiColorLEDBarInputLevelL->setAccessibleDescription ( strInpLevHAccDescr ); MultiColorLEDBarInputLevelL->setAccessibleDescription ( strInpLevHAccDescr );
@ -102,11 +97,11 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
"and disconnecting the llcon software." ) ); "and disconnecting the llcon software." ) );
// status bar // status bar
TextLabelStatus->setWhatsThis ( tr ( "<b>Status Bar:</b> In the status bar " // TextLabelStatus->setWhatsThis ( tr ( "<b>Status Bar:</b> In the status bar "
"different messages are displayed. E.g., if an error occurred or the " // "different messages are displayed. E.g., if an error occurred or the "
"status of the connection is shown." ) ); // "status of the connection is shown." ) );
TextLabelStatus->setAccessibleName ( tr ( "Status bar" ) ); // TextLabelStatus->setAccessibleName ( tr ( "Status bar" ) );
// server address // server address
QString strServAddrH = tr ( "<b>Server Address:</b> The IP address or URL " QString strServAddrH = tr ( "<b>Server Address:</b> The IP address or URL "
@ -185,9 +180,9 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
RadioButtonRevSelR->setWhatsThis ( strRevChanSel ); RadioButtonRevSelR->setWhatsThis ( strRevChanSel );
RadioButtonRevSelR->setAccessibleName ( tr ( "Right channel selection for reverberation" ) ); RadioButtonRevSelR->setAccessibleName ( tr ( "Right channel selection for reverberation" ) );
// overall status // buffers LED
LEDOverallStatus->setWhatsThis ( tr ( "<b>Overall Status:</b> " LEDBuffers->setWhatsThis ( tr ( "<b>Buffers Status LED:</b> "
"The light next to the status bar shows the current audio/streaming " "The buffers status LED indicator shows the current audio/streaming "
"status. If the light is green, there are no buffer overruns/underruns " "status. If the light is green, there are no buffer overruns/underruns "
"and the audio stream is not interrupted. If the light is red, the " "and the audio stream is not interrupted. If the light is red, the "
"audio stream is interrupted caused by one of the following problems:" "audio stream is interrupted caused by one of the following problems:"
@ -201,7 +196,7 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
"<li>The CPU of the client or server is at 100%.</li>" "<li>The CPU of the client or server is at 100%.</li>"
"</ul>" ) ); "</ul>" ) );
LEDOverallStatus->setAccessibleName ( tr ( "Overall status LED indicator" ) ); LEDBuffers->setAccessibleName ( tr ( "Buffers status LED indicator" ) );
// init GUI design // init GUI design
@ -239,6 +234,12 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
MultiColorLEDBarInputLevelL->setValue ( 0 ); MultiColorLEDBarInputLevelL->setValue ( 0 );
MultiColorLEDBarInputLevelR->setValue ( 0 ); MultiColorLEDBarInputLevelR->setValue ( 0 );
// init status LEDs
LEDConnection->SetUpdateTime ( 2 * LED_BAR_UPDATE_TIME );
LEDChat->SetUpdateTime ( 2 * LED_BAR_UPDATE_TIME );
LEDDelay->SetUpdateTime ( 2 * PING_UPDATE_TIME );
LEDDelay->Reset();
// init slider controls --- // init slider controls ---
// audio in fader // audio in fader
@ -272,7 +273,10 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
{ {
MultiColorLEDBarInputLevelL->setEnabled ( false ); MultiColorLEDBarInputLevelL->setEnabled ( false );
MultiColorLEDBarInputLevelR->setEnabled ( false ); MultiColorLEDBarInputLevelR->setEnabled ( false );
LEDOverallStatus->setEnabled ( false ); LEDConnection->setEnabled ( false );
LEDBuffers->setEnabled ( false );
LEDDelay->setEnabled ( false );
LEDChat->setEnabled ( false );
PushButtonConnect->setFocus(); PushButtonConnect->setFocus();
} }
@ -389,11 +393,8 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
// Timers ------------------------------------------------------------------ // Timers ------------------------------------------------------------------
// set error status timer to a single shot timer
TimerErrorStatus.setSingleShot ( true );
// start timer for status bar // start timer for status bar
TimerStatus.start ( STATUSBAR_UPDATE_TIME ); TimerStatus.start ( LED_BAR_UPDATE_TIME );
} }
void CLlconClientDlg::closeEvent ( QCloseEvent* Event ) void CLlconClientDlg::closeEvent ( QCloseEvent* Event )
@ -553,6 +554,8 @@ void CLlconClientDlg::OnDisconnected()
{ {
// channel is now disconnected, clear mixer board (remove all faders) // channel is now disconnected, clear mixer board (remove all faders)
MainMixerBoard->HideAll(); MainMixerBoard->HideAll();
UpdateDisplay();
} }
void CLlconClientDlg::OnConClientListMesReceived ( CVector<CChannelShortInfo> vecChanInfo ) void CLlconClientDlg::OnConClientListMesReceived ( CVector<CChannelShortInfo> vecChanInfo )
@ -672,33 +675,16 @@ void CLlconClientDlg::OnPingTimeResult ( int iPingTime )
if ( iOverallDelayMs <= 40 ) if ( iOverallDelayMs <= 40 )
{ {
iOverallDelayLEDColor = MUL_COL_LED_GREEN; iOverallDelayLEDColor = MUL_COL_LED_GREEN;
// reset ping error counter
iErrorStatusCounter = 0;
} }
else else
{ {
if ( iOverallDelayMs <= 65 ) if ( iOverallDelayMs <= 65 )
{ {
iOverallDelayLEDColor = MUL_COL_LED_YELLOW; iOverallDelayLEDColor = MUL_COL_LED_YELLOW;
// reset ping error counter
iErrorStatusCounter = 0;
} }
else else
{ {
iOverallDelayLEDColor = MUL_COL_LED_RED; iOverallDelayLEDColor = MUL_COL_LED_RED;
iErrorStatusCounter++;
if ( iErrorStatusCounter >= NUM_HIGH_PINGS_UNTIL_ERROR )
{
// delay too long, show error status in main window
TimerErrorStatus.start ( ERROR_STATUS_DISPLAY_TIME );
// avoid integer overrun of error state but keep
// error state valid
iErrorStatusCounter = NUM_HIGH_PINGS_UNTIL_ERROR;
}
} }
} }
@ -711,6 +697,9 @@ void CLlconClientDlg::OnPingTimeResult ( int iPingTime )
iOverallDelayMs, iOverallDelayMs,
iOverallDelayLEDColor ); iOverallDelayLEDColor );
} }
// update delay LED on the main window
LEDDelay->SetLight ( iOverallDelayLEDColor );
} }
void CLlconClientDlg::ConnectDisconnect ( const bool bDoStart ) void CLlconClientDlg::ConnectDisconnect ( const bool bDoStart )
@ -742,10 +731,6 @@ void CLlconClientDlg::ConnectDisconnect ( const bool bDoStart )
{ {
PushButtonConnect->setText ( CON_BUT_DISCONNECTTEXT ); PushButtonConnect->setText ( CON_BUT_DISCONNECTTEXT );
// reset ping error counter and timer
iErrorStatusCounter = 0;
TimerErrorStatus.stop();
// start timer for level meter bar and ping time measurement // start timer for level meter bar and ping time measurement
TimerSigMet.start ( LEVELMETER_UPDATE_TIME ); TimerSigMet.start ( LEVELMETER_UPDATE_TIME );
TimerPing.start ( PING_UPDATE_TIME ); TimerPing.start ( PING_UPDATE_TIME );
@ -753,12 +738,8 @@ void CLlconClientDlg::ConnectDisconnect ( const bool bDoStart )
} }
else else
{ {
// Restart timer to ensure that the text is visible at // show the error as red light
// least the time for one complete interval LEDConnection->SetLight ( MUL_COL_LED_RED );
TimerStatus.start ( STATUSBAR_UPDATE_TIME );
// show the error in the status bar
TextLabelStatus->setText ( tr ( "Invalid address" ) );
} }
} }
else else
@ -782,9 +763,19 @@ void CLlconClientDlg::ConnectDisconnect ( const bool bDoStart )
// stop ping time measurement timer // stop ping time measurement timer
TimerPing.stop(); TimerPing.stop();
// TODO is this still required???
// immediately update status bar // immediately update status bar
OnTimerStatus(); OnTimerStatus();
// TODO this seems not to work, LEDs are still updated afterwards...
// reset LEDs
LEDConnection->Reset();
LEDBuffers->Reset();
LEDDelay->Reset();
LEDChat->Reset();
// clear mixer board (remove all faders) // clear mixer board (remove all faders)
MainMixerBoard->HideAll(); MainMixerBoard->HideAll();
} }
@ -792,36 +783,30 @@ void CLlconClientDlg::ConnectDisconnect ( const bool bDoStart )
void CLlconClientDlg::UpdateDisplay() void CLlconClientDlg::UpdateDisplay()
{ {
// show connection status in status bar // update status LEDs
if ( pClient->IsConnected() && pClient->IsRunning() ) if ( pClient->IsRunning() )
{ {
QString strStatus; if ( pClient->IsConnected() )
if ( TimerErrorStatus.isActive() )
{ {
// right now we only have one error case: delay too high // chat LED
strStatus = tr ( "<font color=""red""><b>Audio delay too large</b></font>" );
}
else
{
strStatus = tr ( "Connected" );
}
if ( bUnreadChatMessage ) if ( bUnreadChatMessage )
{ {
strStatus += ", <b>New chat</b>"; LEDChat->SetLight ( MUL_COL_LED_GREEN );
}
TextLabelStatus->setText ( strStatus );
} }
else else
{ {
TextLabelStatus->setText ( tr ( "Disconnected" ) ); LEDChat->Reset();
} }
// TEST // connection LED
//TextLabelStatus->setText ( QString( "Time: %1, Netw: %2" ).arg ( pClient->GetTimingStdDev() ).arg ( pClient->GetChannel()->GetTimingStdDev() ) ); LEDConnection->SetLight ( MUL_COL_LED_GREEN );
//TextLabelStatus->setText ( QString( "Buf. Err. Rate: %1 %" ).arg ( pClient->GetChannel()->GetJitterBufferErrorRate() * 100.0 ) ); }
else
{
// connection LED
LEDConnection->SetLight ( MUL_COL_LED_RED );
}
}
} }
void CLlconClientDlg::SetGUIDesign ( const EGUIDesign eNewDesign ) void CLlconClientDlg::SetGUIDesign ( const EGUIDesign eNewDesign )
@ -830,6 +815,21 @@ void CLlconClientDlg::SetGUIDesign ( const EGUIDesign eNewDesign )
switch ( eNewDesign ) switch ( eNewDesign )
{ {
case GD_ORIGINAL: case GD_ORIGINAL:
backgroundFrame->setStyleSheet (
"QFrame#backgroundFrame { border-image: url(:/png/fader/res/mixerboardbackground.png) 34px 30px 40px 40px;"
" border-top: 34px transparent;"
" border-bottom: 40px transparent;"
" border-left: 30px transparent;"
" border-right: 40px transparent;"
" padding: -5px;"
" margin: -5px, -5px, 0px, 0px; }"
"QLabel { color: rgb(148, 148, 148);"
" font: bold; }"
"QRadioButton { color: rgb(148, 148, 148);"
" font: bold; }"
"QGroupBox::title { color: rgb(148, 148, 148); }" );
/*
// group box // group box
groupBoxLocal->setStyleSheet ( groupBoxLocal->setStyleSheet (
"QGroupBox { border-image: url(:/png/fader/res/mixerboardbackground.png) 34px 30px 40px 40px;" "QGroupBox { border-image: url(:/png/fader/res/mixerboardbackground.png) 34px 30px 40px 40px;"
@ -844,7 +844,8 @@ void CLlconClientDlg::SetGUIDesign ( const EGUIDesign eNewDesign )
" background-color: transparent;" " background-color: transparent;"
" color: rgb(148, 148, 148); }" ); " color: rgb(148, 148, 148); }" );
groupBoxLocal->layout()->setMargin ( 3 ); groupBoxLocal->layout()->setMargin ( 3 );
*/
/*
// audio fader // audio fader
SliderAudInFader->setStyleSheet ( SliderAudInFader->setStyleSheet (
"QSlider { background-image: url(:/png/fader/res/faderbackground.png);" "QSlider { background-image: url(:/png/fader/res/faderbackground.png);"
@ -875,12 +876,30 @@ void CLlconClientDlg::SetGUIDesign ( const EGUIDesign eNewDesign )
TextLabelAudReverb->setStyleSheet ( TextLabelAudReverb->setStyleSheet (
"QLabel { color: rgb(148, 148, 148);" "QLabel { color: rgb(148, 148, 148);"
" font: bold; }" ); " font: bold; }" );
*/
break; break;
default: default:
// reset style sheet and set original paramters // reset style sheet and set original paramters
groupBoxLocal->setStyleSheet ( "" );
groupBoxLocal->layout()->setMargin ( 9 ); /*
backgroundFrame->setStyleSheet ( "QFrame#backgroundFrame { border-image: url(:/png/fader/res/mixerboardbackground.png) 34px 30px 40px 40px;"
" border-top: 34px transparent;"
" border-bottom: 40px transparent;"
" border-left: 30px transparent;"
" border-right: 40px transparent;"
" padding: -5px;"
" margin: -5px, -5px, 0px, 0px; }"
"QLabel { color: rgb(148, 148, 148);"
" font: bold; }"
"QRadioButton {color: rgb(148, 148, 148);"
" font: bold; }");
*/
// groupBoxLocal->setStyleSheet ( "" );
// groupBoxLocal->layout()->setMargin ( 9 );
backgroundFrame->setStyleSheet ( "" );
SliderAudInFader->setStyleSheet ( "" ); SliderAudInFader->setStyleSheet ( "" );
SliderAudReverb->setStyleSheet ( "" ); SliderAudReverb->setStyleSheet ( "" );
RadioButtonRevSelL->setStyleSheet ( "" ); RadioButtonRevSelL->setStyleSheet ( "" );
@ -888,6 +907,14 @@ void CLlconClientDlg::SetGUIDesign ( const EGUIDesign eNewDesign )
TextLabelAudReverb->setStyleSheet ( "" ); TextLabelAudReverb->setStyleSheet ( "" );
TextLabelAudFader->setStyleSheet ( "" ); TextLabelAudFader->setStyleSheet ( "" );
TextAudInFader->setStyleSheet ( "" ); TextAudInFader->setStyleSheet ( "" );
/*
SliderAudInFader->setStyleSheet (
"QSlider { background-image: url(:/png/fader/res/faderbackground.png);"
" width: 45px; }"
"QSlider::groove { image: url(); }"
"QSlider::handle { image: url(:/png/fader/res/faderhandlesmall.png); }" );
*/
break; break;
} }
@ -908,12 +935,15 @@ void CLlconClientDlg::customEvent ( QEvent* Event )
case MS_SOUND_OUT: case MS_SOUND_OUT:
case MS_JIT_BUF_PUT: case MS_JIT_BUF_PUT:
case MS_JIT_BUF_GET: case MS_JIT_BUF_GET:
// show overall status -> if any LED goes red, this LED will go red // buffer status -> if any buffer goes red, this LED will go red
LEDOverallStatus->SetLight ( iStatus ); LEDBuffers->SetLight ( iStatus );
break; break;
case MS_RESET_ALL: case MS_RESET_ALL:
LEDOverallStatus->Reset(); LEDConnection->Reset();
LEDBuffers->Reset();
LEDDelay->Reset();
LEDChat->Reset();
break; break;
case MS_SET_JIT_BUF_SIZE: case MS_SET_JIT_BUF_SIZE:

View file

@ -57,8 +57,7 @@
// update time for GUI controls // update time for GUI controls
#define LEVELMETER_UPDATE_TIME 100 // ms #define LEVELMETER_UPDATE_TIME 100 // ms
#define STATUSBAR_UPDATE_TIME 1000 // ms #define LED_BAR_UPDATE_TIME 1000 // ms
#define ERROR_STATUS_DISPLAY_TIME 3000 // ms
// range for signal level meter // range for signal level meter
#define LOW_BOUND_SIG_METER ( -50.0 ) // dB #define LOW_BOUND_SIG_METER ( -50.0 ) // dB
@ -89,11 +88,9 @@ protected:
CClient* pClient; CClient* pClient;
bool bConnected; bool bConnected;
bool bUnreadChatMessage; bool bUnreadChatMessage;
int iErrorStatusCounter;
QTimer TimerSigMet; QTimer TimerSigMet;
QTimer TimerStatus; QTimer TimerStatus;
QTimer TimerPing; QTimer TimerPing;
QTimer TimerErrorStatus;
virtual void customEvent ( QEvent* Event ); virtual void customEvent ( QEvent* Event );
virtual void closeEvent ( QCloseEvent* Event ); virtual void closeEvent ( QCloseEvent* Event );

View file

@ -5,8 +5,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>471</width> <width>423</width>
<height>324</height> <height>260</height>
</rect> </rect>
</property> </property>
<property name="windowTitle" > <property name="windowTitle" >
@ -15,19 +15,45 @@
<property name="windowIcon" > <property name="windowIcon" >
<iconset resource="resources.qrc" >:/png/main/res/mainicon.png</iconset> <iconset resource="resources.qrc" >:/png/main/res/mainicon.png</iconset>
</property> </property>
<property name="styleSheet" >
<string/>
</property>
<property name="sizeGripEnabled" > <property name="sizeGripEnabled" >
<bool>true</bool> <bool>true</bool>
</property> </property>
<layout class="QHBoxLayout" > <layout class="QHBoxLayout" >
<property name="leftMargin" >
<number>0</number>
</property>
<property name="topMargin" >
<number>0</number>
</property>
<property name="rightMargin" >
<number>0</number>
</property>
<property name="bottomMargin" >
<number>0</number>
</property>
<item> <item>
<widget class="QFrame" name="FrameMain" > <widget class="QFrame" name="backgroundFrame" >
<property name="styleSheet" >
<string/>
</property>
<property name="frameShape" > <property name="frameShape" >
<enum>QFrame::Panel</enum> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="frameShadow" > <property name="frameShadow" >
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
<layout class="QHBoxLayout" >
<item>
<layout class="QVBoxLayout" > <layout class="QVBoxLayout" >
<item>
<layout class="QHBoxLayout" >
<item>
<layout class="QVBoxLayout" >
<item>
<layout class="QHBoxLayout" >
<item> <item>
<widget class="QLabel" name="PixmapLabelCorrados" > <widget class="QLabel" name="PixmapLabelCorrados" >
<property name="sizePolicy" > <property name="sizePolicy" >
@ -37,10 +63,7 @@
</sizepolicy> </sizepolicy>
</property> </property>
<property name="pixmap" > <property name="pixmap" >
<pixmap resource="resources.qrc" >:/png/main/res/gig.png</pixmap> <pixmap resource="resources.qrc" >:/png/main/res/llconfronticon.png</pixmap>
</property>
<property name="scaledContents" >
<bool>true</bool>
</property> </property>
<property name="alignment" > <property name="alignment" >
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
@ -51,65 +74,331 @@
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QGridLayout" > <spacer>
<item row="0" column="0" > <property name="orientation" >
<widget class="QLabel" name="TextLabelInputLevelL" > <enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" >
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>16</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="TextLabelConnection" >
<property name="text" > <property name="text" >
<string>Input Level L</string> <string>Connection</string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property> </property>
<property name="wordWrap" > <property name="wordWrap" >
<bool>false</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1" > <item>
<widget class="CMultiColorLED" native="1" name="LEDConnection" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>14</width>
<height>14</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>14</width>
<height>14</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" >
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>16</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="TextLabelDelay" >
<property name="text" >
<string>Delay</string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="CMultiColorLED" native="1" name="LEDDelay" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>14</width>
<height>14</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>14</width>
<height>14</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" >
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>16</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="TextLabelBuffers" >
<property name="text" >
<string>Buffers</string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="CMultiColorLED" native="1" name="LEDBuffers" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>14</width>
<height>14</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>14</width>
<height>14</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" >
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>16</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="TextLabelChat" >
<property name="text" >
<string>Chat</string>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="CMultiColorLED" native="1" name="LEDChat" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>14</width>
<height>14</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>14</width>
<height>14</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="Line" name="line" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item>
<layout class="QVBoxLayout" >
<item>
<widget class="QLabel" name="TextInputLEDMeter" >
<property name="text" >
<string>Input</string>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" >
<item>
<widget class="CMultiColorLEDBar" native="1" name="MultiColorLEDBarInputLevelL" > <widget class="CMultiColorLEDBar" native="1" name="MultiColorLEDBarInputLevelL" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Expanding" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" > <property name="minimumSize" >
<size> <size>
<width>50</width> <width>16</width>
<height>25</height> <height>50</height>
</size> </size>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0" > <item>
<widget class="QLabel" name="TextLabelInputLevelR" >
<property name="text" >
<string>Input Level R</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="CMultiColorLEDBar" native="1" name="MultiColorLEDBarInputLevelR" > <widget class="CMultiColorLEDBar" native="1" name="MultiColorLEDBarInputLevelR" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Expanding" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" > <property name="minimumSize" >
<size> <size>
<width>50</width> <width>16</width>
<height>25</height> <height>50</height>
</size> </size>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="0" > </layout>
<widget class="QLabel" name="TextLabelServerAddr" > </item>
<item>
<layout class="QHBoxLayout" >
<item>
<widget class="QLabel" name="TextLevelMeterLeft" >
<property name="text" > <property name="text" >
<string>Server Address</string> <string>L</string>
</property> </property>
<property name="wordWrap" > <property name="alignment" >
<bool>false</bool> <set>Qt::AlignCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1" > <item>
<widget class="QComboBox" name="LineEditServerAddr" > <widget class="QLabel" name="TextLevelMeterRight" >
<property name="editable" > <property name="text" >
<bool>true</bool> <string>R</string>
</property>
<property name="alignment" >
<set>Qt::AlignCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0" > </layout>
</item>
</layout>
</item>
</layout>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" >
<size>
<width>20</width>
<height>21</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" >
<item>
<layout class="QVBoxLayout" >
<item>
<widget class="QLabel" name="TextLabelServerTag" > <widget class="QLabel" name="TextLabelServerTag" >
<property name="text" > <property name="text" >
<string>Fader Tag</string> <string>Fader Tag</string>
@ -119,111 +408,27 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="1" >
<widget class="QLineEdit" name="LineEditFaderTag" />
</item>
</layout>
</item>
<item> <item>
<spacer> <widget class="QLabel" name="TextLabelServerAddr" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" >
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" >
<property name="spacing" >
<number>0</number>
</property>
<item>
<layout class="QVBoxLayout" >
<property name="spacing" >
<number>0</number>
</property>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" >
<size>
<width>168</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" >
<property name="spacing" >
<number>3</number>
</property>
<property name="leftMargin" >
<number>0</number>
</property>
<property name="topMargin" >
<number>0</number>
</property>
<property name="rightMargin" >
<number>3</number>
</property>
<property name="bottomMargin" >
<number>0</number>
</property>
<item>
<widget class="QLabel" name="TextLabelStatus" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Minimum" hsizetype="Expanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape" >
<enum>QFrame::Panel</enum>
</property>
<property name="frameShadow" >
<enum>QFrame::Sunken</enum>
</property>
<property name="text" > <property name="text" >
<string>TextLabelStatus</string> <string>Server Address</string>
</property> </property>
<property name="wordWrap" > <property name="wordWrap" >
<bool>false</bool> <bool>false</bool>
</property> </property>
</widget> </widget>
</item> </item>
</layout>
</item>
<item> <item>
<widget class="CMultiColorLED" native="1" name="LEDOverallStatus" > <layout class="QVBoxLayout" >
<property name="sizePolicy" > <item>
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" > <widget class="QLineEdit" name="LineEditFaderTag" />
<horstretch>0</horstretch> </item>
<verstretch>0</verstretch> <item>
</sizepolicy> <widget class="QComboBox" name="LineEditServerAddr" >
</property> <property name="editable" >
<property name="minimumSize" > <bool>true</bool>
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>20</width>
<height>20</height>
</size>
</property> </property>
</widget> </widget>
</item> </item>
@ -231,6 +436,21 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<layout class="QHBoxLayout" >
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item> <item>
<widget class="QPushButton" name="PushButtonConnect" > <widget class="QPushButton" name="PushButtonConnect" >
<property name="text" > <property name="text" >
@ -244,13 +464,15 @@
</layout> </layout>
</item> </item>
</layout> </layout>
</item>
<item>
<widget class="Line" name="line_2" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBoxLocal" >
<property name="title" >
<string>Local</string>
</property>
<layout class="QVBoxLayout" > <layout class="QVBoxLayout" >
<item> <item>
<layout class="QVBoxLayout" > <layout class="QVBoxLayout" >
@ -321,6 +543,11 @@
</item> </item>
<item> <item>
<widget class="QSlider" name="SliderAudInFader" > <widget class="QSlider" name="SliderAudInFader" >
<property name="styleSheet" >
<string>
QSlider::handle { image: url(res/faderhandlesmall.png); }</string>
</property>
<property name="pageStep" > <property name="pageStep" >
<number>1</number> <number>1</number>
</property> </property>
@ -352,6 +579,8 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<layout class="QVBoxLayout" >
<item> <item>
<layout class="QVBoxLayout" > <layout class="QVBoxLayout" >
<property name="spacing" > <property name="spacing" >
@ -467,7 +696,8 @@
</layout> </layout>
</item> </item>
</layout> </layout>
</widget> </item>
</layout>
</item> </item>
<item> <item>
<widget class="CAudioMixerBoard" native="1" name="MainMixerBoard" > <widget class="CAudioMixerBoard" native="1" name="MainMixerBoard" >
@ -481,6 +711,9 @@
</item> </item>
</layout> </layout>
</widget> </widget>
</item>
</layout>
</widget>
<customwidgets> <customwidgets>
<customwidget> <customwidget>
<class>CMultiColorLED</class> <class>CMultiColorLED</class>

View file

@ -36,21 +36,21 @@ CMultiColorLEDBar::CMultiColorLEDBar ( QWidget* parent, Qt::WindowFlags f )
iNumLEDs = NUM_STEPS_INP_LEV_METER; iNumLEDs = NUM_STEPS_INP_LEV_METER;
// create layout and set spacing to zero // create layout and set spacing to zero
pMainLayout = new QHBoxLayout ( this ); pMainLayout = new QVBoxLayout ( this );
pMainLayout->setAlignment ( Qt::AlignVCenter ); pMainLayout->setAlignment ( Qt::AlignHCenter );
pMainLayout->setMargin ( 0 ); pMainLayout->setMargin ( 0 );
pMainLayout->setSpacing ( 0 ); pMainLayout->setSpacing ( 0 );
// create LEDs // create LEDs
vecpLEDs.Init ( iNumLEDs ); vecpLEDs.Init ( iNumLEDs );
for ( int iLEDIdx = 0; iLEDIdx < iNumLEDs; iLEDIdx++ ) for ( int iLEDIdx = iNumLEDs - 1; iLEDIdx >= 0; iLEDIdx-- )
{ {
// create LED object // create LED object
vecpLEDs[iLEDIdx] = new cLED ( parent ); vecpLEDs[iLEDIdx] = new cLED ( parent );
// add LED to layout with spacer (do not add spacer on the left of the // add LED to layout with spacer (do not add spacer on the bottom of the
// first LED) // first LED)
if ( iLEDIdx > 0 ) if ( iLEDIdx < iNumLEDs - 1 )
{ {
pMainLayout->addStretch(); pMainLayout->addStretch();
} }
@ -135,10 +135,10 @@ void CMultiColorLEDBar::setValue ( const int value )
CMultiColorLEDBar::cLED::cLED ( QWidget* parent ) : CMultiColorLEDBar::cLED::cLED ( QWidget* parent ) :
BitmCubeRoundDisabled ( QString::fromUtf8 ( ":/png/LEDs/res/VLEDDisabledSmall.png" ) ), BitmCubeRoundDisabled ( QString::fromUtf8 ( ":/png/LEDs/res/VLEDDisabledSmall.png" ) ),
BitmCubeRoundGrey ( QString::fromUtf8 ( ":/png/LEDs/res/VLEDGreySmall.png" ) ), BitmCubeRoundGrey ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDGreySmall.png" ) ),
BitmCubeRoundGreen ( QString::fromUtf8 ( ":/png/LEDs/res/VLEDGreenSmall.png" ) ), BitmCubeRoundGreen ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDGreenSmall.png" ) ),
BitmCubeRoundYellow ( QString::fromUtf8 ( ":/png/LEDs/res/VLEDYellowSmall.png" ) ), BitmCubeRoundYellow ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDYellowSmall.png" ) ),
BitmCubeRoundRed ( QString::fromUtf8 ( ":/png/LEDs/res/VLEDRedSmall.png" ) ) BitmCubeRoundRed ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDRedSmall.png" ) )
{ {
// create LED label // create LED label
pLEDLabel = new QLabel ( "", parent ); pLEDLabel = new QLabel ( "", parent );

View file

@ -75,7 +75,7 @@ protected:
void Reset ( const bool bEnabled ); void Reset ( const bool bEnabled );
virtual void changeEvent ( QEvent* curEvent ); virtual void changeEvent ( QEvent* curEvent );
QHBoxLayout* pMainLayout; QVBoxLayout* pMainLayout;
int iNumLEDs; int iNumLEDs;
CVector<cLED*> vecpLEDs; CVector<cLED*> vecpLEDs;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 669 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 687 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 654 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 675 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 680 B

BIN
src/res/HLEDGreen.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
src/res/HLEDGreenSmall.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 B

BIN
src/res/HLEDGrey.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
src/res/HLEDGreySmall.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 B

BIN
src/res/HLEDRed.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
src/res/HLEDRedSmall.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 435 B

BIN
src/res/HLEDYellow.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
src/res/HLEDYellowSmall.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

BIN
src/res/llconfronticon.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/res/llconfronticon.xcf Executable file

Binary file not shown.

BIN
src/res/logopicture.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
src/res/logopicture.xcf Executable file

Binary file not shown.

View file

@ -11,6 +11,10 @@
<file>res/CLEDRedSmall.png</file> <file>res/CLEDRedSmall.png</file>
<file>res/CLEDYellow.png</file> <file>res/CLEDYellow.png</file>
<file>res/CLEDYellowSmall.png</file> <file>res/CLEDYellowSmall.png</file>
<file>res/HLEDGreenSmall.png</file>
<file>res/HLEDGreySmall.png</file>
<file>res/HLEDRedSmall.png</file>
<file>res/HLEDYellowSmall.png</file>
<file>res/VLEDBlack.png</file> <file>res/VLEDBlack.png</file>
<file>res/VLEDBlackSmall.png</file> <file>res/VLEDBlackSmall.png</file>
<file>res/VLEDDisabledSmall.png</file> <file>res/VLEDDisabledSmall.png</file>
@ -43,6 +47,8 @@
</qresource> </qresource>
<qresource prefix="/png/main" > <qresource prefix="/png/main" >
<file>res/gig.png</file> <file>res/gig.png</file>
<file>res/llconfronticon.png</file>
<file>res/logopicture.png</file>
<file>res/mainicon.png</file> <file>res/mainicon.png</file>
</qresource> </qresource>
</RCC> </RCC>