/* * Jajuk * Copyright (C) The Jajuk Team * http://jajuk.info * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * */ package org.jajuk.services.dbus; import org.freedesktop.dbus.DBusInterface; /** * This class describes the interface that we publish to D-Bus, each method is * available via D-Bus and invokes the corresponding Action * * TODO: Audio player usually also provide the following type of information - * current track that is playing including additional information that is * available - next planned track(s) - position in the current track - remaining * time in the current track - current Volume. */ @org.freedesktop.DBus.Description("Methods to remotely control Jajuk including play/pause/next/prev track and some other useful actions.") public interface DBusSupport extends DBusInterface { /** * Previous. * * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Switches to the previous track.") void previous() throws Exception; /** * Next. * * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Switches to the next track.") void next() throws Exception; /** * Rewind. * * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Moves back in the currently played track.") void rewind() throws Exception; /** * Play pause. * * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Toggles playing/pausing the current track.") void playPause() throws Exception; /** * Stop. * * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Stops playing.") void stop() throws Exception; /** * Forward. * * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Moves back in the currently played track.") void forward() throws Exception; /** * Exit. * * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Shuts off Jajuk, depending on configuration this can show a message box that needs to be confirmed with 'Yes'.") void exit() throws Exception; /** * Shuffle global. * * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Shuffles all planned tracks.") void shuffleGlobal() throws Exception; /** * Previous album. * * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Plays the previous album.") void previousAlbum() throws Exception; /** * Next album. * * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Plays the next album.") void nextAlbum() throws Exception; /** * Increase volume. * * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Increase volume by 5 percent.") void increaseVolume() throws Exception; /** * Decrease volume. * * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Decrease volume by 5 percent.") void decreaseVolume() throws Exception; /** * Mute. * * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Toggles Mute on/off.") void mute() throws Exception; /** * Current html. * * * @return the string * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Returns a string describing the currently played track as HTML snippet.") String currentHTML() throws Exception; /** * Current. * * * @return the string * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Returns a string describing the currently played track, the format is controlled with the pattern setting in the configuration.") String current() throws Exception; /** * Ban current. * * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Sets the rating of the currently played track so that it is not automatically played anymore. This is a toggle, the ban will be lifted if invoked on a file that is currently 'banned'") void banCurrent() throws Exception; /** * Show currently playing. * * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Reports the currently played file via the configured notification system, i.e. usually some sort of popup in the Systray-Area.") void showCurrentlyPlaying() throws Exception; /** * Bookmark current track. * * @throws Exception the exception */ @org.freedesktop.DBus.Description("Adds the currently playing track to the list of bookmarks/favourites. Does nothing, if there is no file currently playing.") void bookmarkCurrentlyPlaying() throws Exception; /* * Actions that are not supported (yet): REPEAT_MODE, SHUFFLE_MODE, * CONTINUE_MODE, INTRO_MODE, DEVICE_NEW, DEVICE_DELETE, DEVICE_PROPERTIES, * DEVICE_MOUNT, DEVICE_UNMOUNT, DEVICE_TEST, DEVICE_REFRESH, DEVICE_SYNCHRO, * VIEW_REFRESH_REQUEST, VIEW_CLOSE_REQUEST, VIEW_SHOW_REQUEST, * VIEW_SHOW_STATUS_CHANGED_REQUEST, VIEW_RESTORE_DEFAULTS, * ALL_VIEW_RESTORE_DEFAULTS, VIEW_COMMAND_SELECT_HISTORY_ITEM, HELP_REQUIRED, * SHOW_TRACES, COVER_REFRESH, COVER_CHANGE, PLAYLIST_REFRESH, * PLAYLIST_CHANGED, FILE_LAUNCHED, HEART_BEAT, ZERO, ADD_HISTORY_ITEM, * SPECIAL_MODE, BEST_OF, DJ, NOVELTIES, FINISH_ALBUM, PLAY_ERROR, * SYNC_TREE_TABLE, CLEAR_HISTORY, SIMPLE_DEVICE_WIZARD, QUALITY, * VOLUME_CHANGED, CREATE_PROPERTY, DELETE_PROPERTY, CUSTOM_PROPERTIES_ADD, * CUSTOM_PROPERTIES_REMOVE, FILE_NAME_CHANGED, RATE_CHANGED, TIP_OF_THE_DAY, * CHECK_FOR_UPDATES, SHOW_ABOUT, REPLAY_ALBUM, INC_RATE, CONFIGURE_DJS, * CONFIGURE_AMBIENCES, CONFIGURE_WEBRADIOS, OPTIONS, UNMOUNTED, * CREATE_REPORT, COPY_TO_CLIPBOARD, LAUNCH_IN_BROWSER, WEB_RADIO, DELETE, * PASTE, REFRESH, FIND_DUPLICATE_FILES, ALARM_CLOCK, SHOW_PROPERTIES, * PLAY_SELECTION, PLAY_SHUFFLE_SELECTION, PLAY_REPEAT_SELECTION, * PUSH_SELECTION, PUSH_FRONT_SELECTION, * PLAY_ALBUM_SELECTION, PLAY_ARTIST_SELECTION, PLAY_DIRECTORY_SELECTION, * CDDB_SELECTION, SHOW_ALBUM_DETAILS, CUT, COPY, RENAME, NEW_FOLDER, * SLIM_JAJUK, SAVE_AS, BAN_SELECTION, UN_BAN_SELECTION, * PREFERENCE_ADORE, PREFERENCE_LOVE, PREFERENCE_LIKE, PREFERENCE_AVERAGE, * PREFERENCE_POOR, PREFERENCE_HATE, PREFERENCE_UNSET, PREPARE_PARTY */ }