001package org.intellimate.izou.sdk.frameworks.music.player; 002 003import org.intellimate.izou.sdk.frameworks.music.Capabilities; 004import org.intellimate.izou.sdk.frameworks.permanentSoundOutput.output.PermanentSoundUsed; 005 006/** 007 * here are the methods for the interfaces to access all needed states. 008 * @author LeanderK 009 * @version 1.0 010 */ 011public interface MusicProvider extends PermanentSoundUsed { 012 /** 013 * true if using the sound output and false if not 014 * @return true if using the sound output 015 */ 016 @Override 017 boolean isOutputRunning(); 018 019 /** 020 * true if using java, false if not (and for example a C-library) 021 * 022 * @return true if using java 023 */ 024 @Override 025 boolean isUsingJava(); 026 027 /** 028 * true if playing and false if not 029 * @return tre if playing 030 */ 031 boolean isPlaying(); 032 033 /** 034 * gets the current Playlist 035 * @return the current Playlist 036 */ 037 Playlist getCurrentPlaylist(); 038 039 /** 040 * gets the Volume 041 * @return the volume 042 */ 043 Volume getVolume(); 044 045 /** 046 * gets the Progress 047 * @return the Progress 048 */ 049 Progress getCurrentProgress(); 050 051 /** 052 * gets the Capabilities of the Player 053 * @return and instance of Capabilities 054 */ 055 Capabilities getCapabilities(); 056 057 /** 058 * gets the PlaybackState of the Player 059 * @return the PlaybackState 060 */ 061 PlaybackState getPlaybackState(); 062}