namespace Otaku.Managers { using Otaku; using System; using System.Text; public static class soundMachineManager { public static int calculateSongLength(string Data) { int num = 0; try { string[] strArray = Data.Split(new char[] { ':' }); for (int i = 1; i < 8; i += 3) { int num3 = 0; string[] strArray2 = strArray[i].Split(new char[] { ';' }); for (int j = 0; j < strArray2.Length; j++) { num3 += int.Parse(strArray2[j].Substring(strArray2[j].IndexOf(",") + 1)); } if (num3 > num) { num = num3; } } return num; } catch { return -1; } } public static string getHandSoundsets(int userID) { int[] numArray = DB.runReadColumn("SELECT id FROM furniture WHERE ownerid = '" + userID + "' AND roomid = '0' AND soundmachine_soundset > 0 ORDER BY id ASC", 0, null); StringBuilder builder = new StringBuilder(Otaku.Encoding.encodeVL64(numArray.Length)); if (numArray.Length > 0) { int[] numArray2 = DB.runReadColumn("SELECT soundmachine_soundset FROM furniture WHERE ownerid = '" + userID + "' AND roomid = '0' AND soundmachine_soundset > 0 ORDER BY id ASC", 0, null); for (int i = 0; i < numArray.Length; i++) { builder.Append(Otaku.Encoding.encodeVL64(numArray2[i])); } } return builder.ToString(); } public static string getMachinePlaylist(int machineID) { int[] numArray = DB.runReadColumn("SELECT songid FROM soundmachine_playlists WHERE machineid = '" + machineID + "' ORDER BY pos ASC", 0, null); StringBuilder builder = new StringBuilder("H" + Otaku.Encoding.encodeVL64(numArray.Length)); if (numArray.Length > 0) { for (int i = 0; i < numArray.Length; i++) { string str = DB.runRead("SELECT title FROM soundmachine_songs WHERE id = '" + numArray[i] + "'"); string str2 = DB.runRead("SELECT name FROM users WHERE id = '" + DB.runRead("SELECT userid FROM soundmachine_songs WHERE id = '" + numArray[i] + "'") + "'"); builder.Append(string.Concat(new object[] { Otaku.Encoding.encodeVL64(numArray[i]), Otaku.Encoding.encodeVL64(i + 1), str, Convert.ToChar(2), str2, Convert.ToChar(2) })); } } return builder.ToString(); } public static string getMachineSongList(int machineID) { int[] numArray = DB.runReadColumn("SELECT id FROM soundmachine_songs WHERE machineid = '" + machineID + "' ORDER BY id ASC", 0, null); StringBuilder builder = new StringBuilder(Otaku.Encoding.encodeVL64(numArray.Length)); if (numArray.Length > 0) { int[] numArray2 = DB.runReadColumn("SELECT length FROM soundmachine_songs WHERE machineid = '" + machineID + "' ORDER BY id ASC", 0, null); string[] strArray = DB.runReadColumn("SELECT title FROM soundmachine_songs WHERE machineid = '" + machineID + "' ORDER BY id ASC", 0); string[] strArray2 = DB.runReadColumn("SELECT burnt FROM soundmachine_songs WHERE machineid = '" + machineID + "' ORDER BY id ASC", 0); for (int i = 0; i < numArray.Length; i++) { builder.Append(string.Concat(new object[] { Otaku.Encoding.encodeVL64(numArray[i]), Otaku.Encoding.encodeVL64(numArray2[i]), strArray[i], Convert.ToChar(2) })); if (strArray2[i] == "1") { builder.Append("I"); } else { builder.Append("H"); } } } return builder.ToString(); } public static string getSong(int songID) { string[] strArray = DB.runReadRow("SELECT title,data FROM soundmachine_songs WHERE id = '" + songID + "'"); if (strArray.Length > 0) { return string.Concat(new object[] { Otaku.Encoding.encodeVL64(songID), strArray[0], Convert.ToChar(2), strArray[1], Convert.ToChar(2) }); } return "Otaku.cast.soundmachine.song.unknown"; } } }