View Javadoc

1   package org.rpi.config;
2   
3   import java.util.ArrayList;
4   import java.util.Calendar;
5   import java.util.Date;
6   import java.util.List;
7   import org.apache.log4j.Level;
8   
9   /**
10   * Central class to hold the configuration values of the application.
11   *
12   * All values are static, so that we do not need to handover this class to every method, which needs those
13   * values.
14   */
15  public class Config {
16  
17  	public static String friendly_name = "Default Room";
18  	public static List<String> playlists = new ArrayList<String>();
19  	public static String debug = "None";
20  	public static String mplayer_path= "/usr/bin/mplayer";
21  	public static boolean save_local_playlist = false;
22  	public static String version = "0.0.4-SNAPSHOT"; // try to get this from the maven build parameter
23  	public static String logfile = "mediaplayer.log";
24  	public static int port = -99;
25  	public static int mplayer_cache = 500;
26  	public static int mplayer_cache_min = 70;
27  	public static String loglevel;
28  	public static String logconsole;
29  	public static int playlist_max = 1000;
30  	public static String mpd_host = "";
31  	public static int mpd_port = 6600;
32  	public static String player = "mpd";
33  	public static int mpd_preload_timer = 10;
34  	public static boolean enableAVTransport = true;
35  	public static boolean enableReceiver = true;
36  	
37  	private static Calendar cal = Calendar.getInstance();
38  
39  	public static String getProtocolInfo() {
40  		StringBuilder sb = new StringBuilder();
41  		sb.append("http-get:*:audio/x-flac:*,");
42  		sb.append("http-get:*:audio/wav:*,");
43  		sb.append("http-get:*:audio/wave:*,");
44  		sb.append("http-get:*:audio/x-wav:*,");
45  		sb.append("http-get:*:audio/mpeg:*,");
46  		sb.append("http-get:*:audio/x-mpeg:*,");
47  		sb.append("http-get:*:audio/mp1:*,");
48  		sb.append("http-get:*:audio/aiff:*,");
49  		sb.append("http-get:*:audio/x-aiff:*,");
50  		sb.append("http-get:*:audio/x-m4a:*,");
51  		sb.append("http-get:*:audio/x-ms-wma:*,");
52  		sb.append("rtsp-rtp-udp:*:audio/x-ms-wma:*,");
53  		sb.append("http-get:*:audio/x-scpls:*,");
54  		sb.append("http-get:*:audio/x-mpegurl:*,");
55  		sb.append("http-get:*:audio/x-ms-asf:*,");
56  		sb.append("http-get:*:audio/x-ms-wax:*,");
57  		sb.append("http-get:*:audio/x-ms-wvx:*,");
58  		sb.append("http-get:*:text/xml:*,");
59  		sb.append("http-get:*:audio/aac:*,");
60  		sb.append("http-get:*:audio/aacp:*,");
61  		sb.append("http-get:*:audio/mp4:*,");
62  		sb.append("http-get:*:audio/ogg:*,");
63  		sb.append("http-get:*:audio/x-ogg:*,");
64  		sb.append("http-get:*:application/ogg:*,");
65  		sb.append("http-get:*:video/mpeg:*,");
66  		sb.append("http-get:*:video/mp4:*,");
67  		sb.append("http-get:*:video/quicktime:*,");
68  		sb.append("http-get:*:video/webm:*,");
69  		sb.append("http-get:*:video/x-ms-wmv:*,");
70  		sb.append("http-get:*:video/x-ms-asf:*,");
71  		sb.append("http-get:*:video/x-msvideo:*,");
72  		sb.append("http-get:*:video/x-ms-wax:*,");
73  		sb.append("http-get:*:video/x-ms-wvx:*,");
74  		sb.append("http-get:*:video/x-m4v:*,");
75  		sb.append("http-get:*:video/x-matroska:*,");
76  		sb.append("http-get:*:application/octet-stream:*");
77  		return sb.toString();
78  	}
79  	
80  	public static Level getLogFileLevel()
81  	{
82  		return getLogLevel(loglevel);
83  	}
84  	
85  	public static Level getLogConsoleLevel()
86  	{
87  		return getLogLevel(logconsole);
88  	}
89  	
90  	protected static Level getLogLevel(String s) {
91          return Level.toLevel(s, Level.DEBUG);
92  	}
93  
94  
95  	public static void setSaveLocalPlayList(String property) {
96      	save_local_playlist = Boolean.valueOf(property);
97  	}
98  	
99  	public static int convertStringToInt(String s) {
100 		return convertStringToInt(s, -99);
101 	}
102 
103 	public static int convertStringToInt(String s, int iDefault) {
104 		try	{
105 			return Integer.parseInt(s);
106 		}
107 		catch(Exception e) {
108 
109 		}
110 		return iDefault;
111 	}
112 	
113 	public static boolean convertStringToBoolean(String s, boolean bDefault) {
114 		boolean value = false;
115 
116         if (s == null || s.equalsIgnoreCase("")) {
117             value = bDefault;
118         }
119 		else if (s.equalsIgnoreCase("TRUE") || s.equalsIgnoreCase("YES") || s.equalsIgnoreCase("1")) {
120 			value = true;
121         }
122 
123 		return value;
124 	}
125 	
126 	public static void setStartTime()
127 	{
128 		try
129 		{
130 		Date date = new Date();
131 		cal.setTime(date);
132 		}
133 		catch(Exception e)
134 		{
135 			e.printStackTrace();
136 		}
137 	}
138 
139 	public static Date getStartTime() {
140 		return cal.getTime();
141 	}
142 }