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
11
12
13
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";
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 }