File indexing completed on 2024-05-19 04:49:36

0001 /***********************************************************************
0002  * Copyright 2010  Canonical Ltd
0003  *   (author: Aurelien Gateau <aurelien.gateau@canonical.com>)
0004  * Copyright 2012  Alex Merry <alex.merry@kdemail.net>
0005  *
0006  * This program is free software; you can redistribute it and/or
0007  * modify it under the terms of the GNU General Public License as
0008  * published by the Free Software Foundation; either version 2 of
0009  * the License or (at your option) version 3 or any later version
0010  * accepted by the membership of KDE e.V. (or its successor approved
0011  * by the membership of KDE e.V.), which shall act as a proxy
0012  * defined in Section 14 of version 3 of the license.
0013  *
0014  * This program is distributed in the hope that it will be useful,
0015  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0017  * GNU General Public License for more details.
0018  *
0019  * You should have received a copy of the GNU General Public License
0020  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
0021  ***********************************************************************/
0022 
0023 #include "MediaPlayer2AmarokExtensions.h"
0024 
0025 #include "core/support/Debug.h"
0026 #include "EngineController.h"
0027 #include "playlist/PlaylistActions.h"
0028 
0029 using namespace Amarok;
0030 
0031 MediaPlayer2AmarokExtensions::MediaPlayer2AmarokExtensions(QObject* parent)
0032     : DBusAbstractAdaptor(parent)
0033 {
0034     connect( The::engineController(), &EngineController::muteStateChanged,
0035              this, &MediaPlayer2AmarokExtensions::mutedChanged );
0036 }
0037 
0038 MediaPlayer2AmarokExtensions::~MediaPlayer2AmarokExtensions()
0039 {
0040 }
0041 
0042 bool MediaPlayer2AmarokExtensions::Muted() const
0043 {
0044     return The::engineController()->isMuted();
0045 
0046 }
0047 
0048 void MediaPlayer2AmarokExtensions::setMuted( bool muted )
0049 {
0050     The::engineController()->setMuted( muted );
0051 }
0052 
0053 void MediaPlayer2AmarokExtensions::StopAfterCurrent()
0054 {
0055     The::playlistActions()->stopAfterPlayingTrack();
0056 }
0057 
0058 void MediaPlayer2AmarokExtensions::AdjustVolume( double increaseBy )
0059 {
0060     int volume = The::engineController()->volume() + (increaseBy * 100);
0061     if (volume < 0)
0062         volume = 0;
0063     if (volume > 100)
0064         volume = 100;
0065     The::engineController()->setVolume( volume );
0066 }
0067 
0068 void MediaPlayer2AmarokExtensions::mutedChanged( bool newValue )
0069 {
0070     signalPropertyChange( QStringLiteral("Muted"), newValue );
0071 }
0072