Exemple #1
0
        public void Init(bool isTrace, EnmMmlFileFormat mmlFileFormat, MIDIKbd midiKbd)
        {
            this.isTrace       = isTrace;
            this.mmlFileFormat = mmlFileFormat;
            this.midiKbd       = midiKbd;

            dicInst.Clear();
            Insts = new Dictionary <string, Dictionary <int, Dictionary <int, Instrument> > >();

            Conductor.Clear();
            AY8910.Clear();
            C140.Clear();
            HuC6280.Clear();
            K051649.Clear();
            K053260.Clear();
            QSound.Clear();
            RF5C164.Clear();
            SN76489.Clear();
            SegaPCM.Clear();
            YM2151.Clear();
            YM2203.Clear();
            YM2413.Clear();
            YM3526.Clear();
            Y8950.Clear();
            YM3812.Clear();
            YMF262.Clear();
            YM2608.Clear();
            YM2609.Clear();
            YM2610B.Clear();
            YM2612.Clear();
            YM2612X.Clear();
            PPZ8.Clear();
            VRC6.Clear();
            Gigatron.Clear();
        }
Exemple #2
0
 public Gigatron(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(4, chip, setting, midiKbd)
 {
     for (int i = 0; i < 4; i++)
     {
         vol[i]       = 255;
         beforeTie[i] = false;
     }
 }
Exemple #3
0
 public YM2610B_mucom(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(190, chip, setting, midiKbd)
 {
     //for (int i = 0; i < 19; i++)
     //{
     //    vol[i] = i < 9 ? 127 : (i < 12 ? 15 : (i < 18 ? 31 : 255));
     //    beforeTie[i] = false;
     //}
 }
Exemple #4
0
 public YMF271(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(18 + 5 + 24, chip, setting, midiKbd)
 {
     for (int i = 0; i < 18 + 5 + 24; i++)
     {
         vol[i]       = 63;
         beforeTie[i] = false;
     }
 }
Exemple #5
0
 public Conductor(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(2, chip, setting, midiKbd)
 {
     for (int i = 0; i < 2; i++)
     {
         vol[i]       = 0;
         beforeTie[i] = false;
     }
 }
Exemple #6
0
 public YM3526(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(9 + 5, chip, setting, midiKbd)
 {
     for (int i = 0; i < 9 + 5; i++)
     {
         vol[i]       = 63;
         beforeTie[i] = false;
     }
 }
Exemple #7
0
 public YM2151(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(8, chip, setting, midiKbd)
 {
     for (int i = 0; i < 8; i++)
     {
         vol[i]       = 127;
         beforeTie[i] = false;
     }
 }
Exemple #8
0
 public C352(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(32, chip, setting, midiKbd)
 {
     for (int i = 0; i < 32; i++)
     {
         vol[i]       = 255;
         beforeTie[i] = false;
     }
 }
Exemple #9
0
 public NES(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(6, chip, setting, midiKbd)
 {
     for (int i = 0; i < 6; i++)
     {
         vol[i]       = 15;
         beforeTie[i] = false;
     }
 }
Exemple #10
0
 public YM2610B(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(19, chip, setting, midiKbd)
 {
     for (int i = 0; i < 19; i++)
     {
         vol[i]       = i < 9 ? 127 : (i < 12 ? 15 : (i < 18 ? 31 : 255));
         beforeTie[i] = false;
     }
 }
Exemple #11
0
 public YM2413(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(14, chip, setting, midiKbd)
 {
     for (int i = 0; i < 14; i++)
     {
         vol[i]       = 15;
         beforeTie[i] = false;
     }
 }
Exemple #12
0
 public YMF262(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(23, chip, setting, midiKbd)
 {
     for (int i = 0; i < 23; i++)
     {
         vol[i]       = 63;
         beforeTie[i] = false;
     }
 }
Exemple #13
0
 public SegaPCM(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(16, chip, setting, midiKbd)
 {
     for (int i = 0; i < 16; i++)
     {
         vol[i]       = 127;
         beforeTie[i] = false;
     }
 }
Exemple #14
0
 public YM2203(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(9, chip, setting, midiKbd)
 {
     for (int i = 0; i < 9; i++)
     {
         vol[i]       = i < 6 ? 127 : 15;
         beforeTie[i] = false;
     }
 }
Exemple #15
0
 public YM2609(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(12 + 6 + 12 + 6 + 3 + 6, chip, setting, midiKbd)
 {
     for (int i = 0; i < 45; i++)
     {
         vol[i]       = i < 18 ? 127 : (i < 30 ? 15 : (i < 36 ? 31 : (i < 39 ? 255 : 31)));
         beforeTie[i] = false;
     }
 }
Exemple #16
0
 public K053260(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(4, chip, setting, midiKbd)
 {
     for (int i = 0; i < 4; i++)
     {
         vol[i]       = 127;
         beforeTie[i] = false;
     }
 }
Exemple #17
0
 public GeneralMIDI(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(99, chip, setting, midiKbd)
 {
     for (int i = 0; i < 99; i++)
     {
         vol[i]        = 127;
         expression[i] = 127;
         velocity[i]   = 127;
         beforeTie[i]  = false;
     }
 }
Exemple #18
0
        public List <Instrument> Create(InstrumentSet instSet, List <SoundManager.Chip> chips, Setting setting, MIDIKbd midiKbd)
        {
            Instrument        inst;
            List <Instrument> ret = new List <Instrument>();

            switch (instSet)
            {
            case InstrumentSet.vgm:
            case InstrumentSet.zgm:
                foreach (SoundManager.Chip chip in chips)
                {
                    inst = Create(chip, setting, midiKbd);
                    ret.Add(inst);
                }
                break;

            case InstrumentSet.xgm:
                inst = new MMLParameter.YM2612X(chips[0], setting, midiKbd);
                ret.Add(inst);
                break;

            case InstrumentSet.mucom:
                inst = new MMLParameter.YM2608_mucom(chips[0], setting, midiKbd);
                ret.Add(inst);
                break;

            case InstrumentSet.pmd:
                inst = new MMLParameter.YM2608_PMD(chips[0], setting, midiKbd);
                ret.Add(inst);
                break;

            default:
                throw new ArgumentException();
            }

            return(ret);
        }
Exemple #19
0
        public Instrument(int n, SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd)
        {
            ChCount      = n;
            inst         = new string[n];
            envelope     = new string[n];
            gatetime     = new string[n];
            notecmd      = new string[n];
            vol          = new int?[n];
            volMode      = new int?[n];
            expression   = new int?[n];
            velocity     = new int?[n];
            octave       = new int?[n];
            length       = new string[n];
            pan          = new string[n];
            envSw        = new string[n];
            lfoSw        = new string[n];
            lfo          = new string[n];
            hlfo         = new string[n];
            detune       = new int?[n];
            keyShift     = new int?[n];
            keyOnMeter   = new int?[n];
            beforeTie    = new bool[n];
            clockCounter = new int[n];
            MIDIch       = new int?[n];
            partColor    = new int[n];

            TraceInfo = new ConcurrentQueue <outDatum> [n];
            for (int i = 0; i < n; i++)
            {
                TraceInfo[i]    = new ConcurrentQueue <outDatum>();
                clockCounter[i] = 128;
                vol[i]          = 0;
                volMode[i]      = 0;
                beforeTie[i]    = false;
                partColor[i]    = 1;
            }
            TraceInfoOld = new outDatum[n];
            this.chip    = chip;
            this.setting = setting;
            this.midiKbd = midiKbd;

            SetParam = new Action <outDatum, int, int>[]
            {
                //0 -
                null, null, SetTempo, SetInstrument, SetVolume,
                SetTotalVolume, SetOctave, SetOctaveUp, SetOctaveDown, null,
                //10 -
                null, SetLength, null, SetPan, SetDetune,
                null, null, null, SetGatetime, null,
                //20 -
                SetEnvelope, SetExtendChannel, null, null, null,
                null, null, null, null, SetLfo,
                //30 -
                SetLfoSwitch, null, null, null, SetKeyShift,
                null, SetMIDICh, null, SetNote, SetRest,
                //40 -
                null, null, null, null, null,
                null, SetLyric, null, null, SetVelocity,
                //50 -
                null, null, null, SetClockCounter, null,
                null, null, null, null, null,
                //60 -
                SetTraceUpdateStack, null, null, null, null,
                null, null, SetPartColor, null, null,
                //70 -
                null, null, null, null, null,
                null, SetHardLFO, null, null, null,
            };
        }
Exemple #20
0
 public YM2608_PMD(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(20, chip, setting, midiKbd)
 {
 }
Exemple #21
0
        public static Instrument SetupInstInfo(outDatum od, ref SoundManager.Chip chip, Setting setting, bool isTrace, MIDIKbd midiKbd)
        {
            if (Audio.chipRegister == null || Audio.chipRegister.NES == null)
            {
                return(null);
            }

            if (od.linePos.chipIndex < Audio.chipRegister.NES.Count)
            {
                chip = Audio.chipRegister.NES[od.linePos.chipIndex];
            }

            if (chip == null && od.linePos.chipIndex >= 0x80)
            {
                Driver.ZGM.ZgmChip.ZgmChip zChip = Audio.chipRegister.dicChipCmdNo[od.linePos.chipIndex];
                chip = Audio.chipRegister.NES[zChip.Index];
            }

            NES nes = new NES(chip, setting, midiKbd);

            nes.isTrace = isTrace;

            return(nes);
        }
Exemple #22
0
 public YM2608_mucom(SoundManager.Chip chip, Setting setting, MIDIKbd midiKbd) : base(190, chip, setting, midiKbd)
 {
 }
Exemple #23
0
        public Instrument Create(Chip chip, Setting setting, MIDIKbd midiKbd)
        {
            if (chip == null)
            {
                return(null);
            }

            switch (chip.Device)
            {
            case Core.EnmZGMDevice.AY8910:
                return(new AY8910(chip, setting, midiKbd));

            case Core.EnmZGMDevice.C140:
                return(new C140(chip, setting, midiKbd));

            case Core.EnmZGMDevice.C352:
                return(new C352(chip, setting, midiKbd));

            case Core.EnmZGMDevice.Conductor:
                return(new Conductor(chip, setting, midiKbd));

            case Core.EnmZGMDevice.MIDIGM:
                return(new GeneralMIDI(chip, setting, midiKbd));

            case Core.EnmZGMDevice.HuC6280:
                return(new HuC6280(chip, setting, midiKbd));

            case Core.EnmZGMDevice.K051649:
                return(new K051649(chip, setting, midiKbd));

            case Core.EnmZGMDevice.K053260:
                return(new K053260(chip, setting, midiKbd));

            case Core.EnmZGMDevice.PPZ8:
                return(new PPZ8(chip, setting, midiKbd));

            case Core.EnmZGMDevice.QSound:
                return(new QSound(chip, setting, midiKbd));

            case Core.EnmZGMDevice.RF5C164:
                return(new RF5C164(chip, setting, midiKbd));

            case Core.EnmZGMDevice.SegaPCM:
                return(new SegaPCM(chip, setting, midiKbd));

            case Core.EnmZGMDevice.SN76489:
                return(new SN76489(chip, setting, midiKbd));

            case Core.EnmZGMDevice.Y8950:
                return(new Y8950(chip, setting, midiKbd));

            case Core.EnmZGMDevice.YM2151:
                return(new YM2151(chip, setting, midiKbd));

            case Core.EnmZGMDevice.YM2203:
                return(new YM2203(chip, setting, midiKbd));

            case Core.EnmZGMDevice.YM2413:
                return(new YM2413(chip, setting, midiKbd));

            case Core.EnmZGMDevice.YM2608:
                return(new YM2608(chip, setting, midiKbd));

            case Core.EnmZGMDevice.YM2609:
                return(new YM2609(chip, setting, midiKbd));

            case Core.EnmZGMDevice.YM2610:
                return(new YM2610B(chip, setting, midiKbd));

            case Core.EnmZGMDevice.YM2612:
                return(new YM2612(chip, setting, midiKbd));

            case Core.EnmZGMDevice.YM3526:
                return(new YM3526(chip, setting, midiKbd));

            case Core.EnmZGMDevice.YM3812:
                return(new YM3812(chip, setting, midiKbd));

            case Core.EnmZGMDevice.YMF262:
                return(new YMF262(chip, setting, midiKbd));

            case Core.EnmZGMDevice.YMF278B:
                return(new YMF278B(chip, setting, midiKbd));

            default:
                return(null);
            }
        }