added an indicator that another client has muted me (#257)
This commit is contained in:
parent
4b8c7de166
commit
ce0024cb74
5 changed files with 70 additions and 41 deletions
56
ChangeLog
56
ChangeLog
|
@ -4,25 +4,19 @@
|
|||
|
||||
3.5.4git
|
||||
|
||||
- introduce genre-based server lists (Ticket #139)
|
||||
- introduce genre-based server lists (#139)
|
||||
|
||||
- implement panning for channels, coded by tarmoj (Ticket #52, #145)
|
||||
- implement panning for channels, coded by tarmoj (#52, #145)
|
||||
|
||||
- added an indicator that another client has muted me (#257)
|
||||
|
||||
- duplicate Central Server type dropdown to Connection Setup (#157)
|
||||
|
||||
- added vocal bass/tenor/alto/soprano instrument icons created by Alberstein8 (Ticket #131)
|
||||
- added vocal bass/tenor/alto/soprano instrument icons created by Alberstein8 (#131)
|
||||
|
||||
- support intermediate Reaper RPP file while recording, coded by pljones (Ticket #170)
|
||||
- support intermediate Reaper RPP file while recording, coded by pljones (#170)
|
||||
|
||||
|
||||
TODO Central Server Address: "Default" results in empty server browser, "Default (North America)" works fine #156
|
||||
-> made max list smaller from 200 to 150 -> check if that is sufficient to prevent UDP packet fragmentation
|
||||
|
||||
TODO WIP support internationalization
|
||||
|
||||
TODO show mute state of others
|
||||
|
||||
TODO fix incorrect what's this help texts
|
||||
|
||||
|
||||
|
||||
|
@ -37,23 +31,23 @@ TODO fix incorrect what's this help texts
|
|||
- for CoreAudio and 4 channel input, support mixing channels 1&2 with 3&4
|
||||
|
||||
- added bassoon/oboe/harp instrument icons created by dszgit,
|
||||
congas/bongo created by bspeer (Ticket #131)
|
||||
congas/bongo created by bspeer (#131)
|
||||
|
||||
- link to docs from application Help menu (Ticket #90)
|
||||
- link to docs from application Help menu (#90)
|
||||
|
||||
- support Mac CoreAudio aggregated devices (Ticket #138)
|
||||
- support Mac CoreAudio aggregated devices (#138)
|
||||
|
||||
- added translations: French by trebmuh, Portuguese by Snayler,
|
||||
Spanish by ignotus666, Dutch by jerogee, German by corrados (Ticket #77)
|
||||
Spanish by ignotus666, Dutch by jerogee, German by corrados (#77)
|
||||
|
||||
- new design for the About dialog (Ticket #189)
|
||||
- new design for the About dialog (#189)
|
||||
|
||||
- new command line option -d to disconnect all clients on shutdown of the server (Ticket #161)
|
||||
- new command line option -d to disconnect all clients on shutdown of the server (#161)
|
||||
|
||||
- bug fix: for mono capture jack audio interface Jamulus complains it
|
||||
cannot make connections (Ticket #137)
|
||||
cannot make connections (#137)
|
||||
|
||||
- bug fix: fixed that Jamulus segfaults when jackd is restarted (Ticket #122, #127)
|
||||
- bug fix: fixed that Jamulus segfaults when jackd is restarted (#122, #127)
|
||||
|
||||
- bug fix: better handling of disconnect message in the client
|
||||
|
||||
|
@ -68,21 +62,21 @@ TODO fix incorrect what's this help texts
|
|||
|
||||
- improved Mac installer, coded by doloopuntil
|
||||
|
||||
- support to open ASIO driver setup(s) if startup failed due to incorrect driver settings (Ticket #117)
|
||||
- support to open ASIO driver setup(s) if startup failed due to incorrect driver settings (#117)
|
||||
|
||||
- added -v/--version command line argument to output version information (Ticket #121)
|
||||
- added -v/--version command line argument to output version information (#121)
|
||||
|
||||
- added bodhran and other instrument icons, bodhran created by bomm (Ticket #131)
|
||||
- added bodhran and other instrument icons, bodhran created by bomm (#131)
|
||||
|
||||
- bug fix: if small network buffers are used we get much better audio quality when drop outs occur
|
||||
|
||||
- bug fix: if names given with the -o option were too long, the server registration failed (Ticket #91)
|
||||
- bug fix: if names given with the -o option were too long, the server registration failed (#91)
|
||||
|
||||
- bug fix: audio level changes if Buffer Delay is changed (Ticket #106)
|
||||
- bug fix: audio level changes if Buffer Delay is changed (#106)
|
||||
|
||||
- bug fix: do not reset fader level meters if number of clients change
|
||||
|
||||
- bug fix: fixed a crash with JackRouter 64 bit ASIO driver (Ticket #93, thanks to elliotclee)
|
||||
- bug fix: fixed a crash with JackRouter 64 bit ASIO driver (#93, thanks to elliotclee)
|
||||
|
||||
|
||||
3.5.1 (2020-04-18)
|
||||
|
@ -114,21 +108,21 @@ TODO fix incorrect what's this help texts
|
|||
|
||||
- the unit of the mixer faders is now dB using the range -50 dB to 0 dB
|
||||
|
||||
- increased LED luminance (Ticket #71)
|
||||
- increased LED luminance (#71)
|
||||
|
||||
- bug fix: the server welcome message may appear twice if the server list was double clicked
|
||||
|
||||
|
||||
3.4.7 (2020-04-11)
|
||||
|
||||
- added support for alternative Central Servers to solve the 200 server registration limit (Ticket #50)
|
||||
- added support for alternative Central Servers to solve the 200 server registration limit (#50)
|
||||
|
||||
- added support for 64 samples frame size in the server (if server runs in 64 or 128 samples
|
||||
mode it is still compatible to both, 64 and 128 samples frame size clients)
|
||||
|
||||
- added multichannel CoreAudio support, coded by emlynmac (#44)
|
||||
|
||||
- fixed server not visible if in same local network, coded by pljones (Ticket #27)
|
||||
- fixed server not visible if in same local network, coded by pljones (#27)
|
||||
|
||||
|
||||
3.4.6 (2020-04-09)
|
||||
|
@ -139,7 +133,7 @@ TODO fix incorrect what's this help texts
|
|||
|
||||
- store fader mute state in the ini file, coded by doloopuntil
|
||||
|
||||
- fixed low-res icon issue (Ticket #28)
|
||||
- fixed low-res icon issue (#28)
|
||||
|
||||
|
||||
3.4.5 (2020-04-04)
|
||||
|
@ -161,7 +155,7 @@ TODO fix incorrect what's this help texts
|
|||
|
||||
- added support for controlling the audio mixer faders with a MIDI controller (MacOS and Linux)
|
||||
|
||||
- added command line argument for disabling auto jack connection (Ticket #49)
|
||||
- added command line argument for disabling auto jack connection (#49)
|
||||
|
||||
- audio recording for the server, coded by pljones
|
||||
|
||||
|
|
|
@ -41,6 +41,7 @@ CChannelFader::CChannelFader ( QWidget* pNW,
|
|||
pFader = new QSlider ( Qt::Vertical, pLevelsBox );
|
||||
pPan = new QDial ( pLevelsBox );
|
||||
pPanLabel = new QLabel ( tr ( "Pan" ) , pLevelsBox );
|
||||
pInfoLabel = new QLabel ( "", pLevelsBox );
|
||||
|
||||
pMuteSoloBox = new QWidget ( pFrame );
|
||||
pcbMute = new QCheckBox ( tr ( "Mute" ), pMuteSoloBox );
|
||||
|
@ -111,6 +112,7 @@ CChannelFader::CChannelFader ( QWidget* pNW,
|
|||
pMuteSoloGrid->addWidget ( pcbMute, 0, Qt::AlignLeft );
|
||||
pMuteSoloGrid->addWidget ( pcbSolo, 0, Qt::AlignLeft );
|
||||
|
||||
pMainGrid->addWidget ( pInfoLabel, 0, Qt::AlignHCenter );
|
||||
pMainGrid->addLayout ( pPanGrid );
|
||||
pMainGrid->addWidget ( pLevelsBox, 0, Qt::AlignHCenter );
|
||||
pMainGrid->addWidget ( pMuteSoloBox, 0, Qt::AlignHCenter );
|
||||
|
@ -135,7 +137,14 @@ CChannelFader::CChannelFader ( QWidget* pNW,
|
|||
pFader->setAccessibleName ( tr ( "Local mix level setting of the current audio "
|
||||
"channel at the server" ) );
|
||||
|
||||
pPan->setWhatsThis ( "<b>" + tr ( "Panning" ) + ":</b>" + tr (
|
||||
pInfoLabel->setWhatsThis ( "<b>" + tr ( "Status Indicator" ) + ":</b> " + tr (
|
||||
"Shows a status indication about the client which is assigned to this channel. "
|
||||
"Supported indicators are:" ) + "<ul><li>" + tr (
|
||||
"Speaker with cancellation stroke: Indicates that the other client has muted you." ) +
|
||||
"</li></ul>" );
|
||||
pInfoLabel->setAccessibleName ( tr ( "Status indicator label" ) );
|
||||
|
||||
pPan->setWhatsThis ( "<b>" + tr ( "Panning" ) + ":</b> " + tr (
|
||||
"Sets the panning position from Left to Right of the channel. "
|
||||
"Works only in stero or preferably mono in/stereo out mode." ) );
|
||||
pPan->setAccessibleName ( tr ( "Local panning position of the current audio channel at the server" ) );
|
||||
|
@ -275,6 +284,9 @@ void CChannelFader::SetupFaderTag ( const ESkillLevel eSkillLevel )
|
|||
|
||||
void CChannelFader::Reset()
|
||||
{
|
||||
// general initializations
|
||||
SetRemoteFaderIsMute ( false );
|
||||
|
||||
// init gain and pan value -> maximum value as definition according to server
|
||||
pFader->setValue ( AUD_MIX_FADER_MAX );
|
||||
pPan->setValue ( AUD_MIX_PAN_MAX / 2 );
|
||||
|
@ -339,6 +351,19 @@ void CChannelFader::SetFaderIsMute ( const bool bIsMute )
|
|||
pcbMute->setChecked ( bIsMute );
|
||||
}
|
||||
|
||||
void CChannelFader::SetRemoteFaderIsMute ( const bool bIsMute )
|
||||
{
|
||||
if ( bIsMute )
|
||||
{
|
||||
// utf8 SPEAKER WITH CANCELLATION STROKE (U+1F507)
|
||||
pInfoLabel->setText ( "<font color=""orange"">🔇</font>" );
|
||||
}
|
||||
else
|
||||
{
|
||||
pInfoLabel->setText ( "" );
|
||||
}
|
||||
}
|
||||
|
||||
void CChannelFader::SendFaderLevelToServer ( const int iLevel )
|
||||
{
|
||||
// if mute flag is set or other channel is on solo, do not apply the new
|
||||
|
@ -831,6 +856,19 @@ void CAudioMixerBoard::SetFaderLevel ( const int iChannelIdx,
|
|||
}
|
||||
}
|
||||
|
||||
void CAudioMixerBoard::SetRemoteFaderIsMute ( const int iChannelIdx,
|
||||
const bool bIsMute )
|
||||
{
|
||||
// only apply remote mute state if channel index is valid and the fader is visible
|
||||
if ( ( iChannelIdx >= 0 ) && ( iChannelIdx < MAX_NUM_CHANNELS ) )
|
||||
{
|
||||
if ( vecpChanFader[iChannelIdx]->IsVisible() )
|
||||
{
|
||||
vecpChanFader[iChannelIdx]->SetRemoteFaderIsMute ( bIsMute );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CAudioMixerBoard::UpdateSoloStates()
|
||||
{
|
||||
// first check if any channel has a solo state active
|
||||
|
|
|
@ -66,6 +66,7 @@ public:
|
|||
void SetPanValue ( const int iPan );
|
||||
void SetFaderIsSolo ( const bool bIsSolo );
|
||||
void SetFaderIsMute ( const bool bIsMute );
|
||||
void SetRemoteFaderIsMute ( const bool bIsMute );
|
||||
int GetFaderLevel() { return pFader->value(); }
|
||||
int GetPanValue() { return pPan->value(); }
|
||||
void Reset();
|
||||
|
@ -86,6 +87,7 @@ protected:
|
|||
QSlider* pFader;
|
||||
QDial* pPan;
|
||||
QLabel* pPanLabel;
|
||||
QLabel* pInfoLabel;
|
||||
|
||||
QCheckBox* pcbMute;
|
||||
QCheckBox* pcbSolo;
|
||||
|
@ -143,6 +145,7 @@ public:
|
|||
void SetGUIDesign ( const EGUIDesign eNewDesign );
|
||||
void SetDisplayChannelLevels ( const bool eNDCL );
|
||||
void SetPanIsSupported();
|
||||
void SetRemoteFaderIsMute ( const int iChannelIdx, const bool bIsMute );
|
||||
|
||||
void SetFaderLevel ( const int iChannelIdx,
|
||||
const int iValue );
|
||||
|
|
|
@ -780,14 +780,6 @@ void CClientDlg::OnChatTextReceived ( QString strChatText )
|
|||
UpdateDisplay();
|
||||
}
|
||||
|
||||
void CClientDlg::OnMuteStateHasChangedReceived ( int iChanID, bool bIsMuted )
|
||||
{
|
||||
|
||||
// TEST
|
||||
qDebug() << "mute state changed: iChanID " << iChanID << " bIsMuted " << bIsMuted;
|
||||
|
||||
}
|
||||
|
||||
void CClientDlg::OnLicenceRequired ( ELicenceType eLicenceType )
|
||||
{
|
||||
// right now only the creative common licence is supported
|
||||
|
|
|
@ -167,7 +167,6 @@ public slots:
|
|||
|
||||
void OnConClientListMesReceived ( CVector<CChannelInfo> vecChanInfo );
|
||||
void OnChatTextReceived ( QString strChatText );
|
||||
void OnMuteStateHasChangedReceived ( int iChanID, bool bIsMuted );
|
||||
void OnLicenceRequired ( ELicenceType eLicenceType );
|
||||
|
||||
void OnChangeChanGain ( int iId, double dGain )
|
||||
|
@ -199,6 +198,9 @@ public slots:
|
|||
CVector<CChannelInfo> vecChanInfo )
|
||||
{ ConnectDlg.SetConnClientsList ( InetAddr, vecChanInfo ); }
|
||||
|
||||
void OnMuteStateHasChangedReceived ( int iChanID, bool bIsMuted )
|
||||
{ MainMixerBoard->SetRemoteFaderIsMute ( iChanID, bIsMuted ); }
|
||||
|
||||
void OnCLChannelLevelListReceived ( CHostAddress /* unused */,
|
||||
CVector<uint16_t> vecLevelList )
|
||||
{ MainMixerBoard->SetChannelLevels ( vecLevelList ); }
|
||||
|
|
Loading…
Reference in a new issue