diff --git a/ReadMe.md b/ReadMe.md
index 4fcad9d..03ca894 100644
--- a/ReadMe.md
+++ b/ReadMe.md
@@ -5,7 +5,7 @@ TODO:
- [ ] Add other cool built in things (Fun)
- [ ] Add object support (Tough)
- [ ] Improve audio support (Simple)
-- [ ] Add simple threading (Alright)
+- [x] Add simple threading (Alright)
- [ ] Fix Bugs! (Death)
Maybe:
diff --git a/parseManager/Fancy.cs b/parseManager/Fancy.cs
new file mode 100644
index 0000000..9c597a8
--- /dev/null
+++ b/parseManager/Fancy.cs
@@ -0,0 +1,86 @@
+/*
+ * Created by SharpDevelop.
+ * User: Ryan
+ * Date: 8/27/2017
+ * Time: 8:29 PM
+ *
+ * To change this template use Tools | Options | Coding | Edit Standard Headers.
+ */
+using System;
+
+namespace FancyPrintCS
+{
+ public static class Fancy
+ {
+ static char[][] fvars = {
+ new char[]{ '╚', '═', '╝', '║', '╔', '╗', '╠', '╣', '╩', '╦', '╬' },
+ new char[]{ '+', '═', '+', '|', '+', '+', '+', '+', '+', '+', '+' },
+ new char[]{ '└', '─', '┘', '│', '┌', '┐', '├', '┤', '┴', '┬', '┼' },
+ new char[]{ '+', '~', '+', '|', '+', '+', '+', '+', '+', '+', '+' },
+ new char[]{ '+', '-', '+', '|', '+', '+', '+', '+', '+', '+', '+' },
+ new char[]{ '╙', '─', '╜', '║', '╓', '╖', '╟', '╢', '╨', '╥', '╫' },
+ new char[]{ '╘', '═', '╛', '│', '╒', '╕', '╞', '╡', '╧', '╤', '╪' }
+ };
+ static int form = 3;
+ static int fvar;
+ public static void SetForm(int n)
+ {
+ if (n < 1 || n > 3) {
+ Console.WriteLine("Invalid int value! Only 1, 2 and 3");
+ } else {
+ form = n;
+ }
+ }
+ public static void SetForm(string n)
+ {
+ if (n.ToLower()=="left"){
+ form=2;
+ } else if(n.ToLower()=="right"){
+ form=3;
+ } else if(n.ToLower()=="center"){
+ form=1;
+ }
+ }
+ public static void Print(string[] msg)
+ {
+ int max = 0;
+ var f = fvars[fvar];
+ for (int i = 0; i < msg.Length; i++) {
+ if (msg[i].Length > max) {
+ max = msg[i].Length + 2;
+ }
+ }
+ Console.WriteLine(f[4] + new String(f[1], max) + f[5]);
+ string space1 = "";
+ string space2 = "";
+ for (int i = 0; i < msg.Length; i++) {
+ if (form == 1) { // CENTER
+ if ((max - 2) != msg[i].Length) {
+ space1 = new String(' ', (max - msg[i].Length) / 2 + ((max - msg[i].Length) % 2));
+ space2 = new String(' ', ((max - msg[i].Length) / 2));
+ } else {
+ space1 = new String(' ', (max - msg[i].Length) / 2 + ((max - msg[i].Length) % 2));
+ space2 = new String(' ', ((max - msg[i].Length) / 2));
+ }
+ } else if (form == 2) { // LEFT
+ space1 = "";
+ space2 = new String(' ', max - msg[i].Length);
+ } else if (form == 3) { // RIGHT
+ space2 = "";
+ space1 = new String(' ', max - msg[i].Length);
+ }
+ if (msg[i] == "/l") {
+ Console.WriteLine(f[6] + new String(f[1], max) + f[7]);
+ } else {
+ Console.WriteLine(f[3] + space1 + msg[i] + space2 + f[3]);
+ }
+ }
+ Console.WriteLine(f[0] + new String(f[1], max) + f[2]);
+ }
+ public static void Print(string msg)
+ {
+ var msgArr = msg.Split(',');
+ Fancy.Print(msgArr);
+ }
+ }
+}
diff --git a/parseManager/Program.cs b/parseManager/Program.cs
index e6bd5a9..5debef6 100644
--- a/parseManager/Program.cs
+++ b/parseManager/Program.cs
@@ -7,79 +7,161 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
-using System.Threading;
-using CSCore;
-using CSCore.Codecs;
-using CSCore.SoundOut;
+using System.Diagnostics;
+using System.Runtime.InteropServices;
using parseManagerCS;
+using System.Windows.Input;
public class define : standardDefine // If you want the standard methods you must include this, Also this class cannot be static!
{
- double count;
- ISoundOut GetSoundOut()
+ int origRow = Console.CursorTop;
+ int origCol = Console.CursorLeft;
+ public void setPosition(parseManager PM, double x, double y)
{
- if (WasapiOut.IsSupportedOnCurrentPlatform)
- return new WasapiOut();
- else
- return new DirectSoundOut();
+ Console.SetCursorPosition((int)x, (int)y);
}
- IWaveSource GetSoundSource(string path)
+ public void writeAt(parseManager PM, string s, double x, double y)
{
- return CodecFactory.Instance.GetCodec(path);
- }
- public void _play()
- {
- string path = (string)GLOBALS.GetData("__MUSIC");
- double id = (double)GLOBALS.GetData("__MUSICH");
- using (IWaveSource soundSource = GetSoundSource(path)) {
- using (ISoundOut soundOut = GetSoundOut()) {
- soundOut.Initialize(soundSource);
- GLOBALS.AddData("__MUSICH" + id, soundOut);
- soundOut.Play();
- soundOut.WaitForStopped();
- }
+ try {
+ Console.SetCursorPosition(origCol + (int)x, origRow + (int)y);
+ Console.Write(s);
+ } catch (ArgumentOutOfRangeException e) {
+ Console.Clear();
+ Console.WriteLine(e.Message);
}
}
- public void STOP(parseManager PM, double id)
+ public bool isDown(parseManager PM, string key)
{
- var sound = (ISoundOut)GLOBALS.GetData("__MUSICH" + id);
- sound.Stop();
+ if(!ApplicationIsActivated()){
+ return false;
+ }
+ Key kk = Key.Zoom;
+ var k = key.ToUpper();
+ if (k == "A") {
+ kk = Key.A;
+ } else if (k == "B") {
+ kk = Key.B;
+ } else if (k == "C") {
+ kk = Key.C;
+ } else if (k == "D") {
+ kk = Key.D;
+ } else if (k == "E") {
+ kk = Key.E;
+ } else if (k == "F") {
+ kk = Key.F;
+ } else if (k == "G") {
+ kk = Key.G;
+ } else if (k == "H") {
+ kk = Key.H;
+ } else if (k == "I") {
+ kk = Key.I;
+ } else if (k == "J") {
+ kk = Key.J;
+ } else if (k == "K") {
+ kk = Key.K;
+ } else if (k == "L") {
+ kk = Key.L;
+ } else if (k == "M") {
+ kk = Key.M;
+ } else if (k == "N") {
+ kk = Key.N;
+ } else if (k == "O") {
+ kk = Key.O;
+ } else if (k == "P") {
+ kk = Key.P;
+ } else if (k == "Q") {
+ kk = Key.Q;
+ } else if (k == "R") {
+ kk = Key.R;
+ } else if (k == "S") {
+ kk = Key.S;
+ } else if (k == "T") {
+ kk = Key.T;
+ } else if (k == "U") {
+ kk = Key.U;
+ } else if (k == "V") {
+ kk = Key.V;
+ } else if (k == "W") {
+ kk = Key.W;
+ } else if (k == "X") {
+ kk = Key.X;
+ } else if (k == "Y") {
+ kk = Key.Y;
+ } else if (k == "Z") {
+ kk = Key.Z;
+ } else if (k == "{UP}") {
+ kk = Key.Up;
+ } else if (k == "{DOWN}") {
+ kk = Key.Down;
+ } else if (k == "{LEFT}") {
+ kk = Key.Left;
+ } else if (k == "{RIGHT}") {
+ kk = Key.Right;
+ } else if (k == "{ENTER}") {
+ kk = Key.Enter;
+ } else if (k == "{LSHIFT}"){
+ kk = Key.LeftShift;
+ } else if (k == "{RSHIFT}"){
+ kk = Key.RightShift;
+ } else if (k == "0"){
+ kk = Key.D0;
+ } else if (k == "1"){
+ kk = Key.D1;
+ } else if (k == "2"){
+ kk = Key.D2;
+ } else if (k == "3"){
+ kk = Key.D3;
+ } else if (k == "4"){
+ kk = Key.D4;
+ } else if (k == "5"){
+ kk = Key.D5;
+ } else if (k == "6"){
+ kk = Key.D6;
+ } else if (k == "7"){
+ kk = Key.D7;
+ } else if (k == "8"){
+ kk = Key.D8;
+ } else if (k == "9"){
+ kk = Key.D9;
+ } else if(k == "{SPACE}"){
+ kk = Key.Space;
+ }
+ return Keyboard.IsKeyDown(kk);
}
- public void RESUME(parseManager PM, double id)
+ public string isPressing(parseManager PM)
{
- var sound = (ISoundOut)GLOBALS.GetData("__MUSICH" + id);
- sound.Resume();
+ return Console.ReadKey(true).Key.ToString();
}
- public void SETV(parseManager PM, double id, double vol)
+ public static bool ApplicationIsActivated()
{
- var sound = (ISoundOut)GLOBALS.GetData("__MUSICH" + id);
- sound.Volume = (float)vol;
- }
- public void PAUSE(parseManager PM, double id)
- {
- var sound = (ISoundOut)GLOBALS.GetData("__MUSICH" + id);
- sound.Pause();
- }
- public double PLAY(parseManager PM, string filepath)
- {
- GLOBALS.AddData("__MUSIC", filepath);
- GLOBALS.AddData("__MUSICH", count++);
- var oThread = new Thread(new ThreadStart(_play));
- oThread.Start();
- return count - 1;
+ var activatedHandle = GetForegroundWindow();
+ if (activatedHandle == IntPtr.Zero) {
+ return false; // No window is currently activated
+ } else {
+ var procId = Process.GetCurrentProcess().Id;
+ int activeProcId;
+ GetWindowThreadProcessId(activatedHandle, out activeProcId);
+ return activeProcId == procId;
+ }
}
+ [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
+ static extern IntPtr GetForegroundWindow();
+
+ [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
+ static extern int GetWindowThreadProcessId(IntPtr handle, out int processId);
}
namespace parseManagerCS
{
class Program
{
+ [STAThread]
public static void Main(string[] args)
{
- if (args.Length == 0) {
- Console.Write("Please Include a file path!");
- Console.ReadLine();
- Environment.Exit(0);
- }
- parseManager PM = new parseManager(args[0], "define");
+// if (args.Length == 0) {
+// Console.Write("Please Include a file path!");
+// Console.ReadLine();
+// Environment.Exit(0);
+// }
+ parseManager PM = new parseManager("parsetest2.txt", "define");
nextType next = PM.Next();
string type;
while (next.GetCMDType() != "EOF") {
diff --git a/parseManager/bin/Debug/parsetest2.txt b/parseManager/bin/Debug/parsetest2.txt
index 794f844..0babc6f 100644
--- a/parseManager/bin/Debug/parsetest2.txt
+++ b/parseManager/bin/Debug/parsetest2.txt
@@ -1,13 +1,48 @@
-ENTRY START
-[START]{
- "Hello"
- song=PLAY("test.flac")
- print("Hello!")
- "Don't hit enter!"
- "Am I still going?"
- PAUSE(song)
- "I'm alive!"
- "Lets resume"
- RESUME(song)
- ":)"
+ENTRY STARTHERE
+[STARTHERE]{
+ write("Name: ")
+ name=getInput()
+ clear()
+ if name=="" then SKIP(-4)|SKIP(0)
+ PAUSE("So your name is $name$, thats cool!")
+ pos=1
+ ::loop::
+ clear()
+ setFG(Color_Blue)
+ fancy("left"," What to do $name$?,/l, Play Game, View Stats, View Credits, Quit Game")
+ keyUP=isDown("{UP}")
+ keyDOWN=isDown("{DOWN}")
+ keyENTER=isDown("{RIGHT}")
+ if keyUP==true then setVarPlay("pos",pos-1)|SKIP(0)
+ if keyDOWN==true then setVarPlay("pos",pos+1)|SKIP(0)
+ if keyENTER==true then GOTO("choicemade")|SKIP(0)
+ writeAt("->",1,pos+2)
+ sleep(75)
+ GOTO("loop")
+ ::choicemade::
+ if pos==1 then print("You Pressed Play!")|SKIP(0)
+ if pos==2 then print("You Pressed Stats")|SKIP(0)
+ if pos==3 then print("You Pressed Credits")|SKIP(0)
+ if pos==4 then print("You Pressed Quit")|SKIP(0)
+ PAUSE("Tests done (Press Enter!)")
+}
+[PAUSE:function(msg)]{
+ write(msg)
+ ::loop::
+ keyENTER=isDown("{ENTER}")
+ if keyENTER==true then SKIP(0)|GOTO("loop")
+ print(" ")
+}
+[setVarPlay:function(var,val)]{
+ setVar(var,val)
+ if pos<1 then GOTO("toolittle")|SKIP(0)
+ if pos>4 then GOTO("toomuch")|SKIP(0)
+ beep()
+ GOTO("end")
+ ::toolittle::
+ setVar("pos",1)
+ GOTO("end")
+ ::toomuch::
+ setVar("pos",4)
+ ::end::
}
\ No newline at end of file
diff --git a/parseManager/bin/Debug/test.txt b/parseManager/bin/Debug/test.txt
index de2b710..8e89b2e 100644
--- a/parseManager/bin/Debug/test.txt
+++ b/parseManager/bin/Debug/test.txt
@@ -1,29 +1,28 @@
ENTRY TESTSTART
[TESTSTART]{
- SetFG(Color_Blue)
- write("This is blue ")
- SetFG(Color_Red)
- print("This is red")
- ResetColor()
+ song=loadSong("test.flac")
+ setFG(Color_Blue)
"Hello (Press Enter)"
- print("PLAY SONG (1)")
- print("MESSAGE (2)")
- print("An Adventure (3)")
- print("QUIT (4)")
+ -- print("PLAY SONG (1)")
+ -- print("MESSAGE (2)")
+ -- print("An Adventure (3)")
+ -- print("QUIT (4)")
+ fancy("left","PLAY SONG (1),MESSAGE (2),An Adventure (3),QUIT (4)")
::choice::
write("Choose: ")
- choice=GetInput()
+ choice=getInput()
if choice=="1" then JUMP("SONG")|SKIP(0)
if choice=="2" then JUMP("YO")|SKIP(0)
if choice=="4" then QUIT()|SKIP(0)
if choice=="3" then SKIP(2)|SKIP(0)
GOTO("choice")
"We are here now! Time for some fun..."
+ ::name::
write("Please enter your name: ")
- name=GetInput()
- setCC()
- if name=="" then SKIP(-4)|SKIP(0)
+ name=getInput()
ClearLine()
+ setCC()
+ if name=="" then GOTO("name")|SKIP(0)
print("So your name is $name$ huh...")
"I won't judge haha"
"Anyway let's get controls for that song"
@@ -34,11 +33,11 @@ ENTRY TESTSTART
print("Quit (q)")
::control::
write("Choose: ")
- choice=GetInput()
+ choice=getInput()
if choice=="s" then STOP(song)|SKIP(0)
if choice=="t" then JUMP("PLAYS")|SKIP(0)
- if choice=="a" then PAUSE(song)|SKIP(0)
- if choice=="r" then RESUME(song)|SKIP(0)
+ if choice=="a" then pauseSong(song)|SKIP(0)
+ if choice=="r" then resumeSong(song)|SKIP(0)
if choice=="q" then QUIT()|SKIP(0)
GOTO("control")
}
@@ -47,12 +46,13 @@ ENTRY TESTSTART
setCC()
}
[PLAYS]{
- PAUSE(song)
- song=PLAY("test.flac")
+ pauseSong(song)
+ song=loadSong("test.flac")
+ playSong(song)
GOTO("control")
}
[SONG]{
- song=PLAY("test.flac")
+ playSong(song)
GOTO("choice")
}
[YO]{
diff --git a/parseManager/parseManager.cs b/parseManager/parseManager.cs
index 95b0c5c..a267ccd 100644
--- a/parseManager/parseManager.cs
+++ b/parseManager/parseManager.cs
@@ -6,10 +6,15 @@
using System;
using System.IO;
using System.Collections.Generic;
+using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
using System.Reflection;
+using CSCore;
+using CSCore.Codecs;
+using CSCore.SoundOut;
using parseManagerCS;
using System.Threading;
+using FancyPrintCS;
namespace parseManagerCS
{
/// The parseManager is an Advance Config Script
@@ -156,7 +161,8 @@ namespace parseManagerCS
// foreach (Match m in Regex.Matches(data, @"USING ([a-zA-Z0-9_\./]+)")) {
// m.Groups[1].ToString();
// }
- var match = Regex.Matches(data, @"\[(.+)\][\r\n]*?\{([^\0]+?)\}");
+ data = data + "\n";
+ var match = Regex.Matches(data, "\\[(.+)\\][\r\n]*?\\{([^\0]+?)\\}\r?\n");
var count = 0;
foreach (Match m in match) {
string Blck = m.Groups[1].ToString();
@@ -307,6 +313,9 @@ namespace parseManagerCS
}
public ENV GetENV()
{
+ if (_defualtENV == null) {
+ return _mainENV;
+ }
return _defualtENV;
}
public ENV GetDENV()
@@ -535,7 +544,7 @@ namespace parseManagerCS
bool boo;
double ex;
for (int i = 0; i < len; i++) {
- if (!v[i].StartsWith("["))
+ if (!v[i].StartsWith("[") && !v[i].StartsWith("\""))
ex = evaluater.Evaluate(v[i]);
else
ex = double.NaN;
@@ -671,9 +680,9 @@ namespace parseManagerCS
var m = Regex.Match(_type, @"([a-zA-Z0-9_]+)");
_pureType = m.Groups[1].ToString();
var tCont = Regex.Replace(cont, @"\-\-\[\[[\S\s]+\]\]", "", RegexOptions.Multiline);
- tCont = Regex.Replace(tCont, @"\-\-.+\r\n", "", RegexOptions.Multiline);
- tCont = Regex.Replace(tCont, @"\-\-.+\n", "", RegexOptions.Multiline);
tCont = Regex.Replace(tCont, @"\t", "", RegexOptions.Multiline);
+ tCont = Regex.Replace(tCont, @"^\-\-.+\r\n", "", RegexOptions.Multiline);
+ tCont = Regex.Replace(tCont, @"^\-\-.+\n", "", RegexOptions.Multiline);
tCont = Regex.Replace(tCont, @"\n\n", "", RegexOptions.Multiline);
tCont = Regex.Replace(tCont, @"\r\n\r\n", "", RegexOptions.Multiline);
tCont = Regex.Replace(tCont, @"\-\-\[\[[\S\s]+\]\]", "", RegexOptions.Multiline);
@@ -1206,6 +1215,7 @@ namespace parseManagerCS
}
public class standardDefine
{
+ double count;
Random rnd = new Random();
public void newThread(parseManager PM, string Block)
{
@@ -1248,10 +1258,6 @@ public class standardDefine
env["__DefualtENV"] = PM.GetENV();
GLOBALS.WriteToBinaryFile("savedata.dat", env);
}
- public void save(parseManager PM)
- {
- SAVE(PM);
- }
public bool LOAD(parseManager PM)
{
try {
@@ -1268,49 +1274,41 @@ public class standardDefine
return false;
}
}
- public void load(parseManager PM)
- {
- LOAD(PM);
- }
public void TRACEBACK(parseManager PM)
{
ENV env = PM.Pop();
PM.SetBlock((string)env[0]);
var c = PM.GetCurrentChunk();
c.SetPos((int)env[1]);
- SetENV(PM, (ENV)env[3]);
+ setENV(PM, (ENV)env[3]);
}
public void EXIT(parseManager PM)
{
PM.Deactivate();
}
- public void exit(parseManager PM)
- {
- EXIT(PM);
- }
public void QUIT(parseManager PM)
{
Environment.Exit(0);
}
- public void SetENV(parseManager PM, ENV env)
+ public void setENV(parseManager PM, ENV env)
{
PM.SetENV(env);
}
- public ENV GetENV(parseManager PM)
+ public ENV getENV(parseManager PM)
{
return PM.GetENV();
}
- public ENV GetDefualtENV(parseManager PM)
+ public ENV getDefualtENV(parseManager PM)
{
return PM.GetDENV();
}
- public ENV CreateENV(parseManager PM)
+ public ENV createENV(parseManager PM)
{
var temp = new ENV();
temp.SetParent(PM.GetENV());
return temp;
}
- public string GetInput(parseManager PM)
+ public string getInput(parseManager PM)
{
return Console.ReadLine();
}
@@ -1324,15 +1322,15 @@ public class standardDefine
Console.Write(" ");
}
}
- public void SetBG(parseManager PM, ConsoleColor BG)
+ public void setBG(parseManager PM, ConsoleColor BG)
{
Console.BackgroundColor = BG;
}
- public void SetFG(parseManager PM, ConsoleColor FG)
+ public void setFG(parseManager PM, ConsoleColor FG)
{
Console.ForegroundColor = FG;
}
- public void ResetColor(parseManager PM)
+ public void resetColor(parseManager PM)
{
Console.ResetColor();
}
@@ -1356,7 +1354,7 @@ public class standardDefine
PM.PushError("Unable to GOTO a non existing label: " + label + "!");
return 0;
}
- public double LEN(parseManager PM, object o)
+ public double len(parseManager PM, object o)
{
string type = o.GetType().ToString();
if (type.Contains("String")) {
@@ -1367,30 +1365,18 @@ public class standardDefine
}
return 0;
}
- public double len(parseManager PM, object o)
- {
- return LEN(PM, o);
- }
public void JUMP(parseManager PM, string block)
{
var c = PM.GetCurrentChunk();
c.ResetPos();
PM.SetBlock(block);
}
- public void jump(parseManager PM, string block)
- {
- JUMP(PM, block);
- }
public void SKIP(parseManager PM, double n)
{
var c = PM.GetCurrentChunk();
var pos = c.GetPos();
c.SetPos(pos + (int)n);
}
- public void skip(parseManager PM, double n)
- {
- SKIP(PM, n);
- }
public double tonumber(parseManager PM, string strn)
{
double d;
@@ -1402,8 +1388,12 @@ public class standardDefine
}
public void sleep(parseManager PM, double n)
{
- int i = (int)n * 1000;
- Thread.Sleep(i);
+ Thread.Sleep((int)n);
+ }
+ public void setVar(parseManager PM, string var, object value)
+ {
+ var env = PM.GetDENV();
+ env[var] = value;
}
public double ADD(parseManager PM, double a, double b)
{
@@ -1449,8 +1439,83 @@ public class standardDefine
{
return Math.Round(num, (int)n);
}
+ public void clear(parseManager PM)
+ {
+ Console.Clear();
+ }
public void write(parseManager PM, object o)
{
Console.Write(o);
}
+ public void backspace(parseManager PM)
+ {
+ Console.Write("\b");
+ }
+ public void beep(parseManager PM)
+ {
+ Console.Beep();
+ }
+ public void fancy(parseManager PM, string form, string msg)
+ {
+ Fancy.SetForm(form);
+ Fancy.Print(msg);
+ }
+ ISoundOut GetSoundOut()
+ {
+ if (WasapiOut.IsSupportedOnCurrentPlatform)
+ return new WasapiOut();
+ else
+ return new DirectSoundOut();
+ }
+ IWaveSource GetSoundSource(string path)
+ {
+ return CodecFactory.Instance.GetCodec(path);
+ }
+ public void _load()
+ {
+ string path = (string)GLOBALS.GetData("__MUSIC");
+ double id = (double)GLOBALS.GetData("__MUSICH");
+ using (IWaveSource soundSource = GetSoundSource(path)) {
+ using (ISoundOut soundOut = GetSoundOut()) {
+ soundOut.Initialize(soundSource);
+ GLOBALS.AddData("__MUSICH" + id, soundOut);
+ while (true) {
+ Thread.Sleep(100);
+ }
+ }
+ }
+ }
+ public void stopSong(parseManager PM, double id)
+ {
+ var sound = (ISoundOut)GLOBALS.GetData("__MUSICH" + id);
+ sound.Stop();
+ }
+ public void playSong(parseManager PM, double id)
+ {
+ var sound = (ISoundOut)GLOBALS.GetData("__MUSICH" + id);
+ sound.Play();
+ }
+ public void resumeSong(parseManager PM, double id)
+ {
+ var sound = (ISoundOut)GLOBALS.GetData("__MUSICH" + id);
+ sound.Resume();
+ }
+ public void setSongVolume(parseManager PM, double id, double vol)
+ {
+ var sound = (ISoundOut)GLOBALS.GetData("__MUSICH" + id);
+ sound.Volume = (float)vol;
+ }
+ public void pauseSong(parseManager PM, double id)
+ {
+ var sound = (ISoundOut)GLOBALS.GetData("__MUSICH" + id);
+ sound.Pause();
+ }
+ public double loadSong(parseManager PM, string filepath)
+ {
+ GLOBALS.AddData("__MUSIC", filepath);
+ GLOBALS.AddData("__MUSICH", count++);
+ var oThread = new Thread(new ThreadStart(_load));
+ oThread.Start();
+ return count - 1;
+ }
}
\ No newline at end of file
diff --git a/parseManager/parseManagerTester.csproj b/parseManager/parseManagerTester.csproj
index 2b70956..9e498d0 100644
--- a/parseManager/parseManagerTester.csproj
+++ b/parseManager/parseManagerTester.csproj
@@ -37,6 +37,9 @@
4.0
+
+ 3.0
+
3.5
@@ -45,12 +48,19 @@
3.5
+
+ 3.5
+
3.5
+
+ 3.0
+
+