summaryrefslogtreecommitdiff
path: root/songdbj/TagInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'songdbj/TagInfo.java')
-rw-r--r--songdbj/TagInfo.java112
1 files changed, 112 insertions, 0 deletions
diff --git a/songdbj/TagInfo.java b/songdbj/TagInfo.java
new file mode 100644
index 0000000000..2259226025
--- /dev/null
+++ b/songdbj/TagInfo.java
@@ -0,0 +1,112 @@
1/*
2 * TagInfo.
3 *
4 * JavaZOOM : jlgui@javazoom.net
5 * http://www.javazoom.net
6 *
7 *-----------------------------------------------------------------------
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU Library General Public License as published
10 * by the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Library General Public License for more details.
17 *
18 * You should have received a copy of the GNU Library General Public
19 * License along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 *----------------------------------------------------------------------
22 */
23
24import java.io.File;
25import java.io.IOException;
26import java.io.InputStream;
27import java.net.URL;
28import java.util.Vector;
29
30import javax.sound.sampled.UnsupportedAudioFileException;
31
32/**
33 * This interface define needed features for song information.
34 * Adapted from Scott Pennell interface.
35 */
36public interface TagInfo
37{
38
39 public void load(InputStream input) throws IOException, UnsupportedAudioFileException;
40
41 public void load(URL input) throws IOException, UnsupportedAudioFileException;
42
43 public void load(File input) throws IOException, UnsupportedAudioFileException;
44
45 /**
46 * Get Sampling Rate
47 * @return
48 */
49 public int getSamplingRate();
50
51 /**
52 * Get Nominal Bitrate
53 * @return bitrate in bps
54 */
55 public int getBitRate();
56
57 /**
58 * Get channels.
59 * @return channels
60 */
61 public int getChannels();
62
63 /**
64 * Get play time in seconds.
65 * @return
66 */
67 public long getPlayTime();
68
69 /**
70 * Get the title of the song.
71 * @return the title of the song
72 */
73 public String getTitle();
74
75 /**
76 * Get the artist that performed the song
77 * @return the artist that performed the song
78 */
79 public String getArtist();
80
81 /**
82 * Get the name of the album upon which the song resides
83 * @return the album name
84 */
85 public String getAlbum();
86
87 /**
88 * Get the track number of this track on the album
89 * @return the track number
90 */
91 public int getTrack();
92
93 /**
94 * Get the genre string of the music
95 * @return the genre string
96 */
97 public String getGenre();
98
99 /**
100 * Get the year the track was released
101 * @return the year the track was released
102 */
103 public String getYear();
104
105 /**
106 * Get any comments provided about the song
107 * @return the comments
108 */
109 public Vector getComment();
110
111 public int getFirstFrameOffset();
112} \ No newline at end of file