1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-09 15:47:38 +02:00

Sync audio volume if it's changed externally in vlc

This commit is contained in:
Dominik Schmidt
2016-02-22 00:45:45 +01:00
parent 196256d77b
commit b7ff630808
3 changed files with 6 additions and 0 deletions

View File

@@ -171,6 +171,7 @@ AudioEngine::AudioEngine()
connect( d->audioOutput, SIGNAL( stateChanged( AudioOutput::AudioState, AudioOutput::AudioState ) ), d_func(), SLOT( onStateChanged( AudioOutput::AudioState, AudioOutput::AudioState ) ) );
connect( d->audioOutput, SIGNAL( tick( qint64 ) ), SLOT( timerTriggered( qint64 ) ) );
connect( d->audioOutput, SIGNAL( positionChanged( float ) ), SLOT( onPositionChanged( float ) ) );
connect( d->audioOutput, SIGNAL( volumeChanged( qreal ) ), SLOT( onVolumeChanged( qreal ) ) );
setVolume( TomahawkSettings::instance()->volume() );

View File

@@ -123,6 +123,7 @@ AudioOutput::AudioOutput( QObject* parent )
libvlc_MediaPlayerTitleChanged,
libvlc_MediaPlayerSnapshotTaken,
//libvlc_MediaPlayerLengthChanged,
libvlc_MediaPlayerAudioVolume,
libvlc_MediaPlayerVout
};
const int eventCount = sizeof(events) / sizeof( *events );
@@ -579,6 +580,9 @@ AudioOutput::onVlcEvent( const libvlc_event_t* event )
// Don't call stop() here - it will deadlock libvlc
setState( Error );
break;
case libvlc_MediaPlayerAudioVolume:
emit volumeChanged( event->u.media_player_audio_volume.volume );
break;
case libvlc_MediaPlayerNothingSpecial:
case libvlc_MediaPlayerOpening:
case libvlc_MediaPlayerBuffering:

View File

@@ -79,6 +79,7 @@ signals:
void stateChanged( AudioOutput::AudioState, AudioOutput::AudioState );
void tick( qint64 );
void positionChanged( float );
void volumeChanged( qreal volume );
private:
void onInitVlcEvent( const libvlc_event_t* event );