1 /*** 2 * Ambient - A music player for the Android platform 3 Copyright (C) 2007 Martin Vysny 4 5 This program is free software: you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation, either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 package sk.baka.ambient.stream.shoutcast; 20 21 import java.util.Map; 22 23 /*** 24 * Listens for {@link ShoutcastInputStream SHOUTcast reader} events. 25 * 26 * @author Martin Vysny 27 */ 28 public interface IShoutcastListener { 29 /*** 30 * The stream was opened and the SHOUTcast metadata was read. 31 * 32 * @param name 33 * the name of the radio station 34 * @param genre 35 * the genre 36 * @param hasMetaint 37 * if <code>true</code> then the radio stream will periodically 38 * transmit metadata (and the 39 * {@link #metadataReceived(String, Map)} will be invoked). 40 * @param metadata 41 * all present metadata. 42 */ 43 void opened(final String name, final String genre, 44 final boolean hasMetaint, final Map<String, String> metadata); 45 46 /*** 47 * Invoked when the radio transmits additional metadata. 48 * 49 * @param title 50 * the 'StreamTitle' metadata 51 * @param metadata 52 * all metadata 53 */ 54 void metadataReceived(final String title, final Map<String, String> metadata); 55 }