當前位置: 首頁>>代碼示例>>Java>>正文


Java MPDSong類代碼示例

本文整理匯總了Java中org.bff.javampd.objects.MPDSong的典型用法代碼示例。如果您正苦於以下問題:Java MPDSong類的具體用法?Java MPDSong怎麽用?Java MPDSong使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


MPDSong類屬於org.bff.javampd.objects包,在下文中一共展示了MPDSong類的12個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: playlist

import org.bff.javampd.objects.MPDSong; //導入依賴的package包/類
/**
 * Display the paginated list of playlist entries.
 * @param page Current page number (starts from 0)
 * @return an action result
 */
public static Result playlist(int page)
{
	try
	{
		MPD mpd = MpdMonitor.getInstance().getMPD();
		MPDPlayer player = mpd.getMPDPlayer();
		Page<MPDSong> songs = Playlist.getSongs(page, 10);

		return ok(playlist.render(player, songs));
	}
	catch (MPDException e)
	{
		Logger.error("MPD error", e);

		flash("error", "Command failed! " + e.getMessage());
		return ok(playlist.render(null, new EmptyPage<MPDSong>()));
	}
	
}
 
開發者ID:msteiger,項目名稱:play-mpc,代碼行數:25,代碼來源:Application.java

示例2: playlistContent

import org.bff.javampd.objects.MPDSong; //導入依賴的package包/類
/**
 * Return all songs of a given playlist
 * @return the rendered html content
 */
public static Result playlistContent(String id)
{
	try
	{
		MPD mpd = MpdMonitor.getInstance().getMPD();
	        
		List<MPDSong> songs = mpd.getMPDDatabase().listPlaylistSongs(id);
		
		return ok(Json.toJson(songs));
	}
	catch (MPDException e)
	{
		Logger.error("MPD error", e);

		flash("error", "Command failed! " + e.getMessage());
		return ok(playlists.render(Collections.<MPDSavedPlaylist>emptyList()));
	}
}
 
開發者ID:msteiger,項目名稱:play-mpc,代碼行數:23,代碼來源:Application.java

示例3: addDbEntry

import org.bff.javampd.objects.MPDSong; //導入依賴的package包/類
/**
 * Performs POST /addDbEntry
 * @return an action result
 */
public static Result addDbEntry(String path)
{
	try
	{
		Logger.info("Adding db entry to playlist: " + path);
		
		MPD mpd = MpdMonitor.getInstance().getMPD();
		MPDSong song = new MPDSong();
		song.setFile(path);
		
		mpd.getMPDPlaylist().addSong(song);

		return ok(path);
	}
	catch (MPDException e)
	{
		Logger.error("MPD error", e);
		flash("error", "Command failed! " + e.getMessage());
		
		return notFound(path);
	}		
}
 
開發者ID:msteiger,項目名稱:play-mpc,代碼行數:27,代碼來源:Application.java

示例4: selectSong

import org.bff.javampd.objects.MPDSong; //導入依賴的package包/類
/**
 * Performs POST /selectsong/:pos
 * @return an action result
 */
public static Result selectSong(int pos)
{
	Logger.info("Play Song " + pos);
	
	try
	{
		MPD mpd = MpdMonitor.getInstance().getMPD();
		MPDSong song = mpd.getMPDPlaylist().getSongList().get(pos);
		mpd.getMPDPlayer().playId(song);
	}
	catch (MPDException e)
	{
		Logger.error("MPD error", e);
		flash("error", "Changing song failed! " + e.getMessage());
	}
	
	return ok("");
}
 
開發者ID:msteiger,項目名稱:play-mpc,代碼行數:23,代碼來源:Application.java

示例5: remove

import org.bff.javampd.objects.MPDSong; //導入依賴的package包/類
/**
 * Remove entry from playlist
 * @param id the playlist entry pos
 * @return an action result
 */
public static Result remove(int id)
{
	Logger.info("Removing entry from playlist: " + id);
	
	try
	{
		MPD mpd = MpdMonitor.getInstance().getMPD();
		MPDPlaylist mpdPlaylist = mpd.getMPDPlaylist();
		MPDSong song = mpdPlaylist.getSongList().get(id);

		mpdPlaylist.removeSong(song);
	}
	catch (MPDException e)
	{
		Logger.error("MPD error", e);
		flash("error", "Removing entry from playlist failed! " + e.getMessage());
	}
	
	return ok("");
}
 
開發者ID:msteiger,項目名稱:play-mpc,代碼行數:26,代碼來源:Application.java

示例6: determineSongChange

import org.bff.javampd.objects.MPDSong; //導入依賴的package包/類
private void determineSongChange(String playerId) {
	MPD daemon = findMPDInstance(playerId);
	if (daemon == null) {
		// we give that player another chance -> try to reconnect
		reconnect(playerId);
	}
	if (daemon != null) {
		try {
			MPDPlayer player = daemon.getMPDPlayer();
			
			// get the song object here
			MPDSong curSong = player.getCurrentSong();				
			
			MPDSong curSongCache = songInfoCache.get(playerId);
			if (curSongCache != null) {
				// we have some info
				if (curSong.getId() != curSongCache.getId()) {
					songInfoCache.put(playerId, curSong);
					songChanged(playerId, curSong);
				} else {
					// nothing, same song
					// detect play state						
				}
			} else {
				// no info about player's playback state					
				songInfoCache.put(playerId, curSong);
				// action the song change&notification 
				songChanged(playerId, curSong);
			}
		}
		catch (MPDPlayerException pe) {
			logger.error("error while updating player status: {}" + pe.getMessage(), playerId);
		} catch (Exception e) {
			logger.warn("Failed to communicate with '{}'", playerId);
		}
	}
	else {
		logger.warn("didn't find player configuration instance for playerId '{}'", playerId);
	}
}
 
開發者ID:andrey-desman,項目名稱:openhab-hdl,代碼行數:41,代碼來源:MpdBinding.java

示例7: determineSongChange

import org.bff.javampd.objects.MPDSong; //導入依賴的package包/類
private void determineSongChange(String playerId) {
    MPD daemon = findMPDInstance(playerId);
    if (daemon == null) {
        // we give that player another chance -> try to reconnect
        reconnect(playerId);
    }
    if (daemon != null) {
        try {
            MPDPlayer player = daemon.getMPDPlayer();

            // get the song object here
            MPDSong curSong = player.getCurrentSong();

            MPDSong curSongCache = songInfoCache.get(playerId);
            if (!songsEqual(curSong, curSongCache)) {
                // song is different (or not in cache), update cache
                songInfoCache.put(playerId, curSong);
                // action the song change&notification
                songChanged(playerId, curSong);
            }
        } catch (MPDPlayerException pe) {
            logger.error("Error while updating player status for player '{}': {}", playerId, pe.getMessage());
        } catch (Exception e) {
            logger.warn("Failed to communicate with player '{}'", playerId);
        }
    } else {
        logger.warn("Player '{}' was not found or is not connected", playerId);
    }
}
 
開發者ID:openhab,項目名稱:openhab1-addons,代碼行數:30,代碼來源:MpdBinding.java

示例8: songsEqual

import org.bff.javampd.objects.MPDSong; //導入依賴的package包/類
private boolean songsEqual(MPDSong song1, MPDSong song2) {
    if (!StringUtils.equals(getTitle(song1), getTitle(song2))) {
        return false;
    }

    return StringUtils.equals(getArtist(song1), getArtist(song2));
}
 
開發者ID:openhab,項目名稱:openhab1-addons,代碼行數:8,代碼來源:MpdBinding.java

示例9: getTitle

import org.bff.javampd.objects.MPDSong; //導入依賴的package包/類
private String getTitle(MPDSong song) {
    if (song == null || song.getTitle() == null) {
        return "";
    }

    return song.getTitle().toString();
}
 
開發者ID:openhab,項目名稱:openhab1-addons,代碼行數:8,代碼來源:MpdBinding.java

示例10: getArtist

import org.bff.javampd.objects.MPDSong; //導入依賴的package包/類
private String getArtist(MPDSong song) {
    if (song == null || song.getArtist() == null) {
        return "";
    }

    return song.getArtist().toString();
}
 
開發者ID:openhab,項目名稱:openhab1-addons,代碼行數:8,代碼來源:MpdBinding.java

示例11: browseDb

import org.bff.javampd.objects.MPDSong; //導入依賴的package包/類
/**
 * Display the paginated list of computers.
 * @param page Current page number (starts from 0)
 * @param sortBy Column to be sorted
 * @param order Sort order (either asc or desc)
 * @param filter Filter applied on computer names
 * @return an action result
 */
public static Result browseDb(int page, String sortBy, String order, String filter)
{
	Page<MPDSong> songs = null;
	List<String> playlistfiles = new ArrayList<>();
	
	try
	{
		MPD mpd = MpdMonitor.getInstance().getMPD();
		
		List<MPDSong> playlist = mpd.getMPDPlaylist().getSongList();
		for (MPDSong song : playlist)
		{
			playlistfiles.add(song.getFile());
		}
		
		songs = Database.getSongs(page, 10, sortBy, order, filter);
	}
	catch (MPDException e)
	{
		Logger.error("MPD error", e);

		flash("error", "Command failed! " + e.getMessage());
		songs = new EmptyPage<>();
	}
	
	return ok(database.render(songs, playlistfiles, sortBy, order, filter));
}
 
開發者ID:msteiger,項目名稱:play-mpc,代碼行數:36,代碼來源:Application.java

示例12: getSongs

import org.bff.javampd.objects.MPDSong; //導入依賴的package包/類
/**
 * Returns a page of the current playlist
 * @param page Page to display
 * @param pageSize Number of computers per page
 * @return a page with all relevant entries
 * @throws MPDException if MPD reports an error
 */
public static Page<MPDSong> getSongs(int page, final int pageSize) throws MPDException
{
	MPD mpd = MpdMonitor.getInstance().getMPD();
	MPDPlaylist playlist = mpd.getMPDPlaylist();

	List<MPDSong> songs = playlist.getSongList();
	
	DefaultPagingList<MPDSong> pagingList = new DefaultPagingList<>(songs, pageSize);

	return pagingList.getPage(page);

}
 
開發者ID:msteiger,項目名稱:play-mpc,代碼行數:20,代碼來源:Playlist.java


注:本文中的org.bff.javampd.objects.MPDSong類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。