128 lines
1.8 KiB
C#
128 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
|
|
|
|
namespace DMX2
|
|
{
|
|
public class Conduite
|
|
{
|
|
public Conduite()
|
|
{
|
|
|
|
}
|
|
|
|
List<Circuit> circuits = new List<Circuit>();
|
|
|
|
public List<Circuit> Circuits {
|
|
get {
|
|
return circuits;
|
|
}
|
|
private set {
|
|
circuits = value;
|
|
}
|
|
}
|
|
|
|
Dictionary<string, Sequenceur> sequenceurs= new Dictionary<string, Sequenceur>();
|
|
|
|
public Dictionary<string, Sequenceur> Sequenceurs {
|
|
get {
|
|
return sequenceurs;
|
|
}
|
|
private set {
|
|
sequenceurs = value;
|
|
}
|
|
}
|
|
|
|
List<UniversDMX> univers;
|
|
|
|
public List<UniversDMX> Patch {
|
|
get {
|
|
return univers;
|
|
}
|
|
private set {
|
|
univers = value;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public abstract class Sequenceur
|
|
{
|
|
}
|
|
|
|
public class Circuit
|
|
{
|
|
string name;
|
|
|
|
public string Name {
|
|
get {
|
|
return name;
|
|
}
|
|
set {
|
|
name = value;
|
|
}
|
|
}
|
|
|
|
int _curval;
|
|
|
|
public int ValeurCourante {
|
|
get {
|
|
return _curval;
|
|
}
|
|
set {
|
|
_curval = value;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public class UniversDMX
|
|
{
|
|
|
|
Grada[] _gradas = new Grada[512];
|
|
|
|
public enum FTransfer {
|
|
lineaire,
|
|
log,
|
|
exp
|
|
}
|
|
public struct Grada {
|
|
public Circuit circuitAssocié;
|
|
public FTransfer fonctionTransfert;
|
|
public float param1; // Paramètres pour fonction de transfert
|
|
public float param2;
|
|
}
|
|
|
|
public Grada[] Gradas {
|
|
get
|
|
{
|
|
return _gradas;
|
|
}
|
|
}
|
|
|
|
public void CalculUnivers(int[] valeurs)
|
|
{
|
|
Grada g;
|
|
Debug.Assert(valeurs.Length == _gradas.Length);
|
|
for(int i = 0 ; i<512; i++)
|
|
{
|
|
g= _gradas[i];
|
|
switch (g.fonctionTransfert) {
|
|
case FTransfer.lineaire:
|
|
valeurs[i] = g.circuitAssocié.ValeurCourante;
|
|
break;
|
|
case FTransfer.log:
|
|
break;
|
|
case FTransfer.exp:
|
|
break;
|
|
default:
|
|
throw new ArgumentOutOfRangeException ();
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|