small merge fixes

This commit is contained in:
Volker Fischer 2020-04-18 08:39:08 +02:00
parent 8ab4bd253a
commit 4edb160a0a
5 changed files with 23 additions and 10 deletions

View file

@ -19,14 +19,16 @@
* the ping times in the server list are now more stable * the ping times in the server list are now more stable
TODO offer the Jamulus ASIO settingspanel in case of an ASIO ERROR to fix, e.g., incorrect sample rate (https://sourceforge.net/p/llcon/discussion/533517/thread/777663cf94/#035f)
TODO try to find a way to catch Windows exceptions in case a 64 bit Jamulus tries to load a 32 bit Jack Audio ASIO dll
TODO store Show All Musicians setting in the ini-file TODO store Show All Musicians setting in the ini-file
TODO bug fix: "Start up the new version with the Connection Setup showing. "Show all musicians" is on (as I say). Switch it off before the list is displayed. The TODO bug fix: "Start up the new version with the Connection Setup showing. "Show all musicians" is on (as I say). Switch it off before the list is displayed. The
checkbox is off - but the list displays all musicians! You need to turn it on and off again to get it to do its thing. (If you wait a little, it's fine - checkbox is off - but the list displays all musicians! You need to turn it on and off again to get it to do its thing. (If you wait a little, it's fine -
i.e. before it's populated the musicians but after it's displayed the list, turn it off.)", see https://github.com/corrados/jamulus/issues/78 i.e. before it's populated the musicians but after it's displayed the list, turn it off.)", see https://github.com/corrados/jamulus/issues/78
TODO offer the Jamulus ASIO settingspanel in case of an ASIO ERROR to fix, e.g., incorrect sample rate (https://sourceforge.net/p/llcon/discussion/533517/thread/777663cf94/#035f)
TODO the server list filter seems not to work if --showallservers is used TODO the server list filter seems not to work if --showallservers is used
TODO store Central Server jamulus.server start scripts on the Repo (one for Central Server, one for Central Server North America) TODO store Central Server jamulus.server start scripts on the Repo (one for Central Server, one for Central Server North America)

View file

@ -192,6 +192,7 @@ public:
ESvrRegStatus GetSvrRegStatus() { return ServerListManager.GetSvrRegStatus(); } ESvrRegStatus GetSvrRegStatus() { return ServerListManager.GetSvrRegStatus(); }
// GUI settings ------------------------------------------------------------ // GUI settings ------------------------------------------------------------
void SetAutoRunMinimized ( const bool NAuRuMin ) { bAutoRunMinimized = NAuRuMin; } void SetAutoRunMinimized ( const bool NAuRuMin ) { bAutoRunMinimized = NAuRuMin; }
bool GetAutoRunMinimized() { return bAutoRunMinimized; } bool GetAutoRunMinimized() { return bAutoRunMinimized; }

View file

@ -546,32 +546,38 @@ void CServerDlg::UpdateGUIDependencies()
!bCurUseDefCentServAddr && bCurSerListEnabled ); !bCurUseDefCentServAddr && bCurSerListEnabled );
QString strStatus; QString strStatus;
switch ( eSvrRegStatus ) switch ( eSvrRegStatus )
{ {
case SRS_UNREGISTERED: case SRS_UNREGISTERED:
strStatus = "Unregistered"; strStatus = "Unregistered";
break; break;
case SRS_BAD_ADDRESS: case SRS_BAD_ADDRESS:
strStatus = "Bad address"; strStatus = "Bad address";
break; break;
case SRS_REQUESTED: case SRS_REQUESTED:
strStatus = "Registration requested"; strStatus = "Registration requested";
break; break;
case SRS_TIME_OUT: case SRS_TIME_OUT:
strStatus = "Using longer retries"; strStatus = "Using longer retries";
break; break;
case SRS_UNKNOWN_RESP: case SRS_UNKNOWN_RESP:
strStatus = "Check server version, retrying"; strStatus = "Check server version, retrying";
break; break;
case SRS_REGISTERED: case SRS_REGISTERED:
strStatus = "Registered"; strStatus = "Registered";
break; break;
case SRS_CENTRAL_SVR_FULL: case SRS_CENTRAL_SVR_FULL:
strStatus = "Central Server full"; strStatus = "Central Server full";
break; break;
} }
lblRegSvrStatus->setText( strStatus ); lblRegSvrStatus->setText( strStatus );
} }
void CServerDlg::UpdateSystemTrayIcon ( const bool bIsActive ) void CServerDlg::UpdateSystemTrayIcon ( const bool bIsActive )

View file

@ -166,6 +166,10 @@ CServerListManager::CServerListManager ( const quint16 iNPortNum,
this, SLOT ( OnTimerIsPermanent() ) ); this, SLOT ( OnTimerIsPermanent() ) );
} }
// prepare the register server response timer (single shot timer)
TimerCLRegisterServerResp.setSingleShot ( true );
TimerCLRegisterServerResp.setInterval ( REGISTER_SERVER_TIME_OUT_MS );
// Connections ------------------------------------------------------------- // Connections -------------------------------------------------------------
QObject::connect ( &TimerPollList, SIGNAL ( timeout() ), QObject::connect ( &TimerPollList, SIGNAL ( timeout() ),
@ -180,8 +184,6 @@ CServerListManager::CServerListManager ( const quint16 iNPortNum,
QObject::connect ( &TimerRegistering, SIGNAL ( timeout() ), QObject::connect ( &TimerRegistering, SIGNAL ( timeout() ),
this, SLOT ( OnTimerRegistering() ) ); this, SLOT ( OnTimerRegistering() ) );
TimerCLRegisterServerResp.setSingleShot ( true );
TimerCLRegisterServerResp.setInterval ( REGISTER_SERVER_TIME_OUT_MS );
QObject::connect ( &TimerCLRegisterServerResp, SIGNAL ( timeout() ), QObject::connect ( &TimerCLRegisterServerResp, SIGNAL ( timeout() ),
this, SLOT ( OnTimerCLRegisterServerResp() ) ); this, SLOT ( OnTimerCLRegisterServerResp() ) );
} }
@ -314,15 +316,14 @@ void CServerListManager::OnTimerPollList()
for ( int iIdx = 1 + iNumPredefinedServers; iIdx < ServerList.size(); ) for ( int iIdx = 1 + iNumPredefinedServers; iIdx < ServerList.size(); )
{ {
// 1 minute = 60 * 1000 ms // 1 minute = 60 * 1000 ms
if ( ServerList[iIdx].RegisterTime.elapsed() > if ( ServerList[iIdx].RegisterTime.elapsed() > ( SERVLIST_TIME_OUT_MINUTES * 60000 ) )
( SERVLIST_TIME_OUT_MINUTES * 60000 ) )
{ {
// remove this list entry // remove this list entry
ServerList.removeAt ( iIdx ); ServerList.removeAt ( iIdx );
} }
else else
{ {
// Move to the next entry (only on else) // move to the next entry (only on else)
iIdx++; iIdx++;
} }
} }
@ -482,16 +483,17 @@ void CServerListManager::StoreRegistrationResult ( ESvrRegResult eResult )
// any time so another response could arrive // any time so another response could arrive
QMutexLocker locker ( &Mutex ); QMutexLocker locker ( &Mutex );
// We got some response, so stop the retry timer // we got some response, so stop the retry timer
TimerCLRegisterServerResp.stop(); TimerCLRegisterServerResp.stop();
eSvrRegStatus = ESvrRegStatus::SRS_UNKNOWN_RESP; eSvrRegStatus = ESvrRegStatus::SRS_UNKNOWN_RESP;
switch ( eResult ) switch ( eResult )
{ {
case ESvrRegResult::SRR_REGISTERED: case ESvrRegResult::SRR_REGISTERED:
eSvrRegStatus = ESvrRegStatus::SRS_REGISTERED; eSvrRegStatus = ESvrRegStatus::SRS_REGISTERED;
break; break;
case ESvrRegResult::SRR_CENTRAL_SVR_FULL: case ESvrRegResult::SRR_CENTRAL_SVR_FULL:
eSvrRegStatus = ESvrRegStatus::SRS_CENTRAL_SVR_FULL; eSvrRegStatus = ESvrRegStatus::SRS_CENTRAL_SVR_FULL;
break; break;
@ -520,6 +522,7 @@ void CServerListManager::OnTimerCLRegisterServerResp()
if ( eSvrRegStatus == SRS_REQUESTED ) if ( eSvrRegStatus == SRS_REQUESTED )
{ {
iSvrRegRetries++; iSvrRegRetries++;
if ( iSvrRegRetries >= REGISTER_SERVER_RETRY_LIMIT ) if ( iSvrRegRetries >= REGISTER_SERVER_RETRY_LIMIT )
{ {
eSvrRegStatus = SRS_TIME_OUT; eSvrRegStatus = SRS_TIME_OUT;

View file

@ -588,6 +588,7 @@ enum ESvrRegStatus
// Central server registration outcome ----------------------------------------- // Central server registration outcome -----------------------------------------
enum ESvrRegResult enum ESvrRegResult
{ {
// used for protocol -> enum values must be fixed!
SRR_REGISTERED = 0, SRR_REGISTERED = 0,
SRR_CENTRAL_SVR_FULL = 1 SRR_CENTRAL_SVR_FULL = 1
}; };