Freya  0.0.1
A Gtk3 MPD Client
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
src/MPD/Status.hh
Go to the documentation of this file.
00001 /***********************************************************
00002 * This file is part of Freya
00003 * - A free MPD Gtk3 MPD Client -
00004 *
00005 * Authors: Christopher Pahl, Christoph Piechula,
00006 *          Eduard Schneider
00007 *
00008 * Copyright (C) [2011-2012]
00009 * Hosted at: https://github.com/studentkittens/Freya
00010 *
00011 *              __..--''``---....___   _..._    __
00012 *    /// //_.-'    .-/";  `        ``<._  ``.''_ `. / // /
00013 *   ///_.-' _..--.'_                        `( ) ) // //
00014 *   / (_..-' // (< _     ;_..__               ; `' / ///
00015 *    / // // //  `-._,_)' // / ``--...____..-' /// / //
00016 *  Ascii-Art by Felix Lee <flee@cse.psu.edu>
00017 *
00018 * Freya is free software: you can redistribute it and/or modify
00019 * it under the terms of the GNU General Public License as published by
00020 * the Free Software Foundation, either version 3 of the License, or
00021 * (at your option) any later version.
00022 *
00023 * Freya is distributed in the hope that it will be useful,
00024 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00025 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00026 * GNU General Public License for more details.
00027 *
00028 * You should have received a copy of the GNU General Public License
00029 * along with Freya. If not, see <http://www.gnu.org/licenses/>.
00030 **************************************************************/
00031 #ifndef FREYA_MPD_STATUS
00032 #define FREYA_MPD_STATUS
00033 
00034 #include <mpd/client.h>
00035 
00036 namespace MPD
00037 {
00038     typedef enum mpd_state mpd_state;
00039 
00043     class Status
00044     {
00045     public:
00046 
00047         Status(mpd_status& status,unsigned long nextSongID);
00048         ~Status();
00049 
00050         /* -------- */
00051 
00057         int get_volume();
00063         bool get_repeat();
00069         bool get_random();
00075         bool get_single();
00081         bool get_consume();
00087         unsigned get_queue_length();
00096         unsigned get_queue_version();
00102         mpd_state get_state();
00108         unsigned get_crossfade();
00114         float get_mixrampdb();
00120         float get_mixrampdelay();
00126         int get_song_pos();
00132         int get_song_id();
00138         unsigned get_elapsed_time();
00144         unsigned get_elapsed_ms();
00150         unsigned get_total_time();
00156         unsigned get_kbit_rate();
00162         unsigned get_update_id();
00168         const char * get_error();
00174         uint32_t get_audio_sample_rate();
00180         uint8_t get_audio_bits();
00186         uint8_t get_audio_channels();
00187 
00188     private:
00189 
00190         mpd_status * m_Status;
00191     };
00192 }
00193 
00194 #endif