145 lines
1.9 KiB
C#
145 lines
1.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Collections.ObjectModel;
|
|
|
|
|
|
namespace DMX2
|
|
{
|
|
public class Conduite : IComparer<Circuit>, IDisposable
|
|
{
|
|
|
|
public static Conduite Courante = null;
|
|
|
|
public Conduite()
|
|
{
|
|
|
|
}
|
|
|
|
List<Circuit> circuits = new List<Circuit>();
|
|
|
|
public ReadOnlyCollection<Circuit> Circuits {
|
|
get {
|
|
return circuits.AsReadOnly();
|
|
}
|
|
}
|
|
|
|
public Circuit NouveauCircuit ()
|
|
{
|
|
lock (this) {
|
|
Circuit c = new Circuit ();
|
|
circuits.Add (c);
|
|
return c;
|
|
}
|
|
}
|
|
|
|
public void SupprimeCircuit (Circuit c)
|
|
{
|
|
lock (this) {
|
|
circuits.Remove (c);
|
|
}
|
|
}
|
|
|
|
string _name;
|
|
|
|
public string Name {
|
|
get {
|
|
return _name;
|
|
}
|
|
set {
|
|
_name = value;
|
|
}
|
|
}
|
|
|
|
|
|
int IComparer<Circuit>.Compare (Circuit x, Circuit y)
|
|
{
|
|
return Conduite.Courante.circuits.IndexOf(x) -
|
|
Conduite.Courante.circuits.IndexOf(y);
|
|
}
|
|
|
|
List<Sequenceur> sequenceurs= new List<Sequenceur>();
|
|
|
|
public ReadOnlyCollection<Sequenceur> Sequenceurs {
|
|
get {
|
|
return sequenceurs.AsReadOnly();
|
|
}
|
|
}
|
|
|
|
public void AjoutSequenceur (Sequenceur seq)
|
|
{
|
|
lock (this) {
|
|
sequenceurs.Add(seq);
|
|
}
|
|
}
|
|
|
|
List<UniversDMX> univers;
|
|
|
|
public List<UniversDMX> Patch {
|
|
get {
|
|
return univers;
|
|
}
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
disposed=true;
|
|
// stop thread if running
|
|
}
|
|
|
|
#region IDisposable implementation
|
|
bool disposed=false;
|
|
void IDisposable.Dispose ()
|
|
{
|
|
if(!disposed)
|
|
Dispose();
|
|
}
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
|
public class Circuit
|
|
{
|
|
static int maxid=1;
|
|
string name;
|
|
|
|
public Circuit()
|
|
{
|
|
id=maxid++;
|
|
Name = "Circuit n°" + id.ToString();
|
|
}
|
|
|
|
public string Name {
|
|
get {
|
|
return name;
|
|
}
|
|
set {
|
|
name = value;
|
|
}
|
|
}
|
|
|
|
int id;
|
|
|
|
public int ID {
|
|
get {
|
|
return id;
|
|
}
|
|
}
|
|
|
|
int _curval;
|
|
|
|
public int ValeurCourante {
|
|
get {
|
|
return _curval;
|
|
}
|
|
set {
|
|
_curval = value;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|