示例#1
0
        public static IntegraSNAInstruments GetInstrument(this SuperNATURALAcousticToneCommon instance)
        {
            short value = 0;

            value += (short)(instance.InstVariation << 8);
            value += (byte)(instance.InstNumber);
            int index = 0;

            switch (value)
            {
            case 0x4000: index = 0; break;

            case 0x4001: index = 1; break;

            case 0x4002: index = 2; break;

            case 0x4003: index = 3; break;

            case 0x4004: index = 4; break;

            case 0x4005: index = 5; break;

            case 0x4006: index = 6; break;

            case 0x4007: index = 7; break;

            case 0x4008: index = 8; break;

            case 0x0004: index = 9; break;

            case 0x0104: index = 10; break;

            case 0x0204: index = 11; break;

            case 0x0304: index = 12; break;

            case 0x0604: index = 13; break;

            case 0x0704: index = 14; break;

            case 0x0007: index = 15; break;

            case 0x0107: index = 16; break;

            case 0x0207: index = 17; break;

            case 0x0307: index = 18; break;

            case 0x0407: index = 19; break;

            case 0x0507: index = 20; break;

            case 0x0607: index = 21; break;

            case 0x0707: index = 22; break;

            case 0x0009: index = 23; break;

            case 0x000B: index = 24; break;

            case 0x000C: index = 25; break;

            case 0x000D: index = 26; break;

            case 0x000E: index = 27; break;

            case 0x4100: index = 28; break;

            case 0x0015: index = 29; break;

            case 0x0115: index = 30; break;

            case 0x0016: index = 31; break;

            case 0x0017: index = 32; break;

            case 0x0018: index = 33; break;

            case 0x0118: index = 34; break;

            case 0x0019: index = 35; break;

            case 0x001A: index = 36; break;

            case 0x001B: index = 37; break;

            case 0x011B: index = 38; break;

            case 0x021B: index = 39; break;

            case 0x0020: index = 40; break;

            case 0x0021: index = 41; break;

            case 0x0022: index = 42; break;

            case 0x0023: index = 43; break;

            case 0x0028: index = 44; break;

            case 0x0128: index = 45; break;

            case 0x0029: index = 46; break;

            case 0x002A: index = 47; break;

            case 0x012A: index = 48; break;

            case 0x002B: index = 49; break;

            case 0x002E: index = 50; break;

            case 0x002F: index = 51; break;

            case 0x0030: index = 52; break;

            case 0x0130: index = 53; break;

            case 0x0034: index = 54; break;

            case 0x0134: index = 55; break;

            case 0x0038: index = 56; break;

            case 0x0039: index = 57; break;

            case 0x0339: index = 58; break;

            case 0x003B: index = 59; break;

            case 0x003C: index = 60; break;

            case 0x0140: index = 61; break;

            case 0x0141: index = 62; break;

            case 0x0242: index = 63; break;

            case 0x0143: index = 64; break;

            case 0x0044: index = 65; break;

            case 0x0046: index = 66; break;

            case 0x0047: index = 67; break;

            case 0x0048: index = 68; break;

            case 0x0049: index = 69; break;

            case 0x004B: index = 70; break;

            case 0x004D: index = 71; break;

            case 0x0068: index = 72; break;

            case 0x006D: index = 73; break;

            case 0x016D: index = 74; break;

            case 0x016E: index = 75; break;

            case 0x0072: index = 76; break;

            case 0x000F: index = 77; break;

            case 0x012E: index = 78; break;

            case 0x014B: index = 79; break;

            case 0x014D: index = 80; break;

            case 0x006A: index = 81; break;

            case 0x016A: index = 82; break;

            case 0x006B: index = 83; break;

            case 0x016B: index = 84; break;

            case 0x006C: index = 85; break;

            case 0x026E: index = 86; break;

            case 0x0040: index = 87; break;

            case 0x0041: index = 88; break;

            case 0x0042: index = 89; break;

            case 0x0043: index = 90; break;

            case 0x0045: index = 91; break;

            case 0x0147: index = 92; break;

            case 0x0149: index = 93; break;

            case 0x004A: index = 94; break;

            case 0x014A: index = 95; break;

            case 0x024A: index = 96; break;

            case 0x034A: index = 97; break;

            case 0x004F: index = 98; break;

            case 0x014F: index = 99; break;

            case 0x024F: index = 100; break;

            case 0x034F: index = 101; break;

            case 0x011A: index = 102; break;

            case 0x021A: index = 103; break;

            case 0x031B: index = 104; break;

            case 0x041B: index = 105; break;

            case 0x051B: index = 106; break;

            case 0x0120: index = 107; break;

            case 0x0121: index = 108; break;

            case 0x0122: index = 109; break;

            case 0x0218: index = 110; break;

            case 0x0318: index = 111; break;

            case 0x0119: index = 112; break;

            case 0x0219: index = 113; break;

            case 0x0319: index = 114; break;

            case 0x0419: index = 115; break;

            case 0x0138: index = 116; break;

            case 0x0238: index = 117; break;

            case 0x0338: index = 118; break;

            case 0x0438: index = 119; break;

            case 0x0139: index = 120; break;

            case 0x0239: index = 121; break;

            case 0x003A: index = 122; break;

            case 0x013B: index = 123; break;

            case 0x023B: index = 124; break;

            case 0x013C: index = 125; break;

            case 0x023C: index = 126; break;
            }

            return((IntegraSNAInstruments)index);
        }
示例#2
0
        public static IntegraParameterProvider <byte> GetParameterType(this SuperNATURALAcousticToneCommon instance)
        {
            if (instance.InstVariation == 64)
            {
                return(new SNAPiano(instance));

                // INT 001   Concert Grand
                // INT 002   Grand Piano1
                // INT 003   Grand Piano2
                // INT 004   Grand Piano3
                // INT 005   Mellow Piano
                // INT 006   Bright Piano
                // INT 007   Upright Piano
                // INT 008   Concert Mono
                // INT 009   Honkey - Tonk
            }

            if (((instance.InstNumber == 4 || instance.InstNumber == 7) && instance.InstVariation != 64) || (instance.InstNumber == 21 || instance.InstNumber == 23))
            {
                return(new SNAKeys(instance));

                // INT 010 Pure Vintage EP1
                // INT 011 Pure Vintage EP2
                // INT 012 Pure Wurly
                // INT 013 Pure Vintage EP3
                // INT 014 Old Hammer EP
                // INT 015 Dyno Piano
                // INT 016 Clav CB Flat
                // INT 017 Clav CA Flat
                // INT 018 Clav CB Medium
                // INT 019 Clav CA Medium
                // INT 020 Clav CB Brillia
                // INT 021 Clav CA Brillia
                // INT 022 Clav CB Combo
                // INT 023 Clav CA Combo
                // INT 031 ItalianAccordion
                // INT 030 French Accordion
                // INT 033 Bandoneon
            }

            if (instance.InstNumber >= 40 || instance.InstNumber <= 43)
            {
                // INT 045 Violin
                // INT 046 Violin 2
                // INT 047 Viola
                // INT 048 Cello
                // INT 049 Cello 2
                // INT 050 Contrabass

                return(new SNAStrings1(instance));
            }

            if (instance.InstNumber >= 68 && instance.InstNumber <= 73)
            {
                // INT 066 Oboe
                // INT 067 Bassoon
                // INT 068 Clarinet
                // INT 069 Piccolo
                // INT 070 Flute
                // ExSN2 005 English Horn
                // ExSN2 006 Bass Clarinet
                // ExSN2 007 Flute2

                return(new SNAWind1(instance));
            }

            if (instance.InstVariation == 65)
            {
                return(new SNAOrgan(instance));

                // INT 029 TW Organ
            }

            switch (instance.InstNumber)
            {
            case 9:
            case 12:
            case 13:
            case 14:
                // INT 024 Glockenspiel
                // INT 026 Marimba
                // INT 027 Xylophone
                // INT 028 Tubular Bells
                return(new SNABellMallet1(instance));

            case 11:
                // INT 025 Vibraphone
                return(new SNABellMallet2(instance));

            case 15:
                // ExSN1 001 Santoor
                return(new SNABellMallet3(instance));

            case 22:
                // INT 032 Harmonica
                return(new SNAHarmonica(instance));

            case 24:

                // INT 034 Nylon Guitar
                // ExSN4 002 Nylon Guitar 2
                if (instance.InstVariation == 0 || instance.InstVariation == 3)
                {
                    return(new SNAGuitar1(instance));
                }

                // INT 035 Flamenco Guitar
                // ExSN4 001 Ukulele
                return(instance.InstVariation == 1 ? new SNAGuitar2(instance) : new SNAUkelele(instance));

            case 25:
                if (instance.InstVariation == 2)
                {
                    // ExSN4 004 Mandolin
                    return(new SNAMandolin(instance));
                }

                else if (instance.InstVariation == 3)
                {
                    // ExSN4 005 SteelFing Guitar
                    return(new SNAGuitar3(instance));
                }
                else
                {
                    //INT 036 SteelStr Guitar
                    //ExSN4 003 12th Steel Gtr
                    //ExSN4 006 SteelStr Guitar2
                    return(new SNAGuitar1(instance));
                }

            case 26:
                // INT 037Jazz Guitar
                // ExSN3 001 TC Guitar w / Fing
                // ExSN3 002 335Guitar w/ Fing

                return(instance.InstVariation == 0 ? new SNAElectricGuitar(instance) : new SNAGuitar3(instance));

            case 27:
                // INT 038 ST Guitar Half
                // INT 039 ST Guitar Front
                // INT 040 TC Guitar Rear
                // ExSN3 003 LP Guitar Rear
                // ExSN3 004 LP Guitar Front
                // ExSN3 005 335 Guitar Half

                return(new SNAElectricGuitar(instance));

            case 32:
            case 35:
                // INT 041 Acoustic Bass
                // INT 044 Fretless Bass
                // ExSN3 006 Acoustic Bass 2

                return(new SNABass1(instance));

            case 33:
                //INT 042 Fingered Bass
                //ExSN3 007 Fingered Bass 2

                return(new SNABass2(instance));

            case 34:
                // INT 043 Picked Bass
                // ExSN3 008 Picked Bass 2

                return(new SNABass3(instance));

            case 46:
                // INT 051 Harp
                // ExSN1 002 Yang Chin
                return(instance.InstVariation == 0 ? new SNAHarp(instance) : new SNABellMallet3(instance));

            case 47:
                // INT 052 Timpani
                return(new SNATimpani(instance));

            case 48:
                // INT 053 Strings
                // INT 054 Marcato Strings

                return(new SNAStrings3(instance));

            case 52:
                // INT 055 London Choir
                // INT 056 Boys Choir

                return(new SNAChoir(instance));

            case 56:
            case 57:
            case 59:
                // INT 057 Trumpet
                // INT 058 Trombone
                // INT 059 Tb2 CupMute
                // ExSN5 005 Trombone 2
                // ExSN5 001 Classical Trumpet
                // ExSN5 006 Bass Trombone
                // ExSN5 002 Frugal Horn
                // ExSN5 003 Trumpet 2
                // ExSN5 004 Mariachi Tp

                return(new SNABrass2(instance));

            case 58:
            case 60:
                // INT 061 French Horn
                // ExSN5 007 Tuba
                // ExSN5 010 French Horn 2
                // ExSN5 011 Mute French Horn

                return(new SNABrass1(instance));

            case 64:
            case 65:
            case 66:
            case 67:
                // INT 062 Soprano Sax 2
                // INT 063 Alto Sax 2
                // INT 064 Tenor Sax 2
                // INT 065 Baritone Sax 2
                // ExSN2 001 Soprano Sax
                // ExSN2 002 Alto Sax
                // ExSN2 003 Tenor Sax
                // ExSN2 004 Baritone Sax

                return(new SNASax(instance));

            case 74:

                // ExSN2 008 Soprano Recorder
                // ExSN2 009 Alto Recorder
                // ExSN2 010 Tenor Recorder
                // ExSN2 011 Bass Recorder

                return(new SNARecorder(instance));

            case 75:
                // INT 071 Panflute
                // ExSN1 003 Tin Whistle

                return(instance.InstVariation == 0 ? new SNAPanFlute(instance) : new SNAWhistle(instance));

            case 77:
            case 79:
                // INT 072 Shakuhachi
                // ExSN1 004 Ryuteki
                // ExSN2 012 Ocarina SopC
                // ExSN2 013 Ocarina SopF
                // ExSN2 014 Ocarina Alto
                // ExSN2 015 Ocarina Bass

                return(new SNAWind2(instance));

            case 104:
                // INT 073 Sitar
                return(new SNASitar(instance));

            case 106:
                // ExSN1 005 Tsugaru
                // ExSN1 006 Sansin

                return(new SNAShamisen(instance));

            case 107:
                // ExSN1 007 Koto
                // ExSN1 008 Taishou Koto

                return(instance.InstVariation == 0 ? new SNAKoto1(instance) : new SNAKoto2(instance));

            case 108:

                // ExSN1 009 Kalimba
                return(new SNAKalimba(instance));

            case 109:
                // INT 074 Uilleann Pipes
                // INT 075 Bag Pipes

                return(new SNAPipes(instance));

            case 110:

                // INT 076 Erhu
                // ExSN1 010 Sarangi
                return(instance.InstVariation == 1 ? new SNAStrings2(instance) : new SNASitar(instance));

            case 114:
                // INT 077 Steel Drums
                return(new SNASteelDrums(instance));

            default:

                return(null);
            }
        }
示例#3
0
        public static void SetInstrument(this SuperNATURALAcousticToneCommon instance, IntegraSNAInstruments instrument)
        {
            switch ((int)instrument)
            {
            case   0: instance.InstVariation = 0x40; instance.InstNumber = 0x00; break;    //0x4000

            case   1: instance.InstVariation = 0x40; instance.InstNumber = 0x01; break;    //0x4001

            case   2: instance.InstVariation = 0x40; instance.InstNumber = 0x02; break;    //0x4002

            case   3: instance.InstVariation = 0x40; instance.InstNumber = 0x03; break;    //0x4003

            case   4: instance.InstVariation = 0x40; instance.InstNumber = 0x04; break;    //0x4004

            case   5: instance.InstVariation = 0x40; instance.InstNumber = 0x05; break;    //0x4005

            case   6: instance.InstVariation = 0x40; instance.InstNumber = 0x06; break;    //0x4006

            case   7: instance.InstVariation = 0x40; instance.InstNumber = 0x07; break;    //0x4007

            case   8: instance.InstVariation = 0x40; instance.InstNumber = 0x08; break;    //0x4008

            case   9: instance.InstVariation = 0x00; instance.InstNumber = 0x04; break;    //0x0004

            case  10: instance.InstVariation = 0x01; instance.InstNumber = 0x04; break;    //0x0104

            case  11: instance.InstVariation = 0x02; instance.InstNumber = 0x04; break;    //0x0204

            case  12: instance.InstVariation = 0x03; instance.InstNumber = 0x04; break;    //0x0304

            case  13: instance.InstVariation = 0x06; instance.InstNumber = 0x04; break;    //0x0604

            case  14: instance.InstVariation = 0x07; instance.InstNumber = 0x04; break;    //0x0704

            case  15: instance.InstVariation = 0x00; instance.InstNumber = 0x07; break;    //0x0007

            case  16: instance.InstVariation = 0x01; instance.InstNumber = 0x07; break;    //0x0107

            case  17: instance.InstVariation = 0x02; instance.InstNumber = 0x07; break;    //0x0207

            case  18: instance.InstVariation = 0x03; instance.InstNumber = 0x07; break;    //0x0307

            case  19: instance.InstVariation = 0x04; instance.InstNumber = 0x07; break;    //0x0407

            case  20: instance.InstVariation = 0x05; instance.InstNumber = 0x07; break;    //0x0507

            case  21: instance.InstVariation = 0x06; instance.InstNumber = 0x07; break;    //0x0607

            case  22: instance.InstVariation = 0x07; instance.InstNumber = 0x07; break;    //0x0707

            case  23: instance.InstVariation = 0x00; instance.InstNumber = 0x09; break;    //0x0009

            case  24: instance.InstVariation = 0x00; instance.InstNumber = 0x0B; break;    //0x000B

            case  25: instance.InstVariation = 0x00; instance.InstNumber = 0x0C; break;    //0x000C

            case  26: instance.InstVariation = 0x00; instance.InstNumber = 0x0D; break;    //0x000D

            case  27: instance.InstVariation = 0x00; instance.InstNumber = 0x0E; break;    //0x000E

            case  28: instance.InstVariation = 0x41; instance.InstNumber = 0x00; break;    //0x4100

            case  29: instance.InstVariation = 0x00; instance.InstNumber = 0x15; break;    //0x0015

            case  30: instance.InstVariation = 0x01; instance.InstNumber = 0x15; break;    //0x0115

            case  31: instance.InstVariation = 0x00; instance.InstNumber = 0x16; break;    //0x0016

            case  32: instance.InstVariation = 0x00; instance.InstNumber = 0x17; break;    //0x0017

            case  33: instance.InstVariation = 0x00; instance.InstNumber = 0x18; break;    //0x0018

            case  34: instance.InstVariation = 0x01; instance.InstNumber = 0x18; break;    //0x0118

            case  35: instance.InstVariation = 0x00; instance.InstNumber = 0x19; break;    //0x0019

            case  36: instance.InstVariation = 0x00; instance.InstNumber = 0x1A; break;    //0x001A

            case  37: instance.InstVariation = 0x00; instance.InstNumber = 0x1B; break;    //0x001B

            case  38: instance.InstVariation = 0x01; instance.InstNumber = 0x1B; break;    //0x011B

            case  39: instance.InstVariation = 0x02; instance.InstNumber = 0x1B; break;    //0x021B

            case  40: instance.InstVariation = 0x00; instance.InstNumber = 0x20; break;    //0x0020

            case  41: instance.InstVariation = 0x00; instance.InstNumber = 0x21; break;    //0x0021

            case  42: instance.InstVariation = 0x00; instance.InstNumber = 0x22; break;    //0x0022

            case  43: instance.InstVariation = 0x00; instance.InstNumber = 0x23; break;    //0x0023

            case  44: instance.InstVariation = 0x00; instance.InstNumber = 0x28; break;    //0x0028

            case  45: instance.InstVariation = 0x01; instance.InstNumber = 0x28; break;    //0x0128

            case  46: instance.InstVariation = 0x00; instance.InstNumber = 0x29; break;    //0x0029

            case  47: instance.InstVariation = 0x00; instance.InstNumber = 0x2A; break;    //0x002A

            case  48: instance.InstVariation = 0x01; instance.InstNumber = 0x2A; break;    //0x012A

            case  49: instance.InstVariation = 0x00; instance.InstNumber = 0x2B; break;    //0x002B

            case  50: instance.InstVariation = 0x00; instance.InstNumber = 0x2E; break;    //0x002E

            case  51: instance.InstVariation = 0x00; instance.InstNumber = 0x2F; break;    //0x002F

            case  52: instance.InstVariation = 0x00; instance.InstNumber = 0x30; break;    //0x0030

            case  53: instance.InstVariation = 0x01; instance.InstNumber = 0x30; break;    //0x0130

            case  54: instance.InstVariation = 0x00; instance.InstNumber = 0x34; break;    //0x0034

            case  55: instance.InstVariation = 0x01; instance.InstNumber = 0x34; break;    //0x0134

            case  56: instance.InstVariation = 0x00; instance.InstNumber = 0x38; break;    //0x0038

            case  57: instance.InstVariation = 0x00; instance.InstNumber = 0x39; break;    //0x0039

            case  58: instance.InstVariation = 0x03; instance.InstNumber = 0x39; break;    //0x0339

            case  59: instance.InstVariation = 0x00; instance.InstNumber = 0x3B; break;    //0x003B

            case  60: instance.InstVariation = 0x00; instance.InstNumber = 0x3C; break;    //0x003C

            case  61: instance.InstVariation = 0x01; instance.InstNumber = 0x40; break;    //0x0140

            case  62: instance.InstVariation = 0x01; instance.InstNumber = 0x41; break;    //0x0141

            case  63: instance.InstVariation = 0x02; instance.InstNumber = 0x42; break;    //0x0242

            case  64: instance.InstVariation = 0x01; instance.InstNumber = 0x43; break;    //0x0143

            case  65: instance.InstVariation = 0x00; instance.InstNumber = 0x44; break;    //0x0044

            case  66: instance.InstVariation = 0x00; instance.InstNumber = 0x46; break;    //0x0046

            case  67: instance.InstVariation = 0x00; instance.InstNumber = 0x47; break;    //0x0047

            case  68: instance.InstVariation = 0x00; instance.InstNumber = 0x48; break;    //0x0048

            case  69: instance.InstVariation = 0x00; instance.InstNumber = 0x49; break;    //0x0049

            case  70: instance.InstVariation = 0x00; instance.InstNumber = 0x4B; break;    //0x004B

            case  71: instance.InstVariation = 0x00; instance.InstNumber = 0x4D; break;    //0x004D

            case  72: instance.InstVariation = 0x00; instance.InstNumber = 0x68; break;    //0x0068

            case  73: instance.InstVariation = 0x00; instance.InstNumber = 0x6D; break;    //0x006D

            case  74: instance.InstVariation = 0x01; instance.InstNumber = 0x6D; break;    //0x016D

            case  75: instance.InstVariation = 0x01; instance.InstNumber = 0x6E; break;    //0x016E

            case  76: instance.InstVariation = 0x00; instance.InstNumber = 0x72; break;    //0x0072

            case  77: instance.InstVariation = 0x00; instance.InstNumber = 0x0F; break;    //0x000F

            case  78: instance.InstVariation = 0x01; instance.InstNumber = 0x2E; break;    //0x012E

            case  79: instance.InstVariation = 0x01; instance.InstNumber = 0x4B; break;    //0x014B

            case  80: instance.InstVariation = 0x01; instance.InstNumber = 0x4D; break;    //0x014D

            case  81: instance.InstVariation = 0x00; instance.InstNumber = 0x6A; break;    //0x006A

            case  82: instance.InstVariation = 0x01; instance.InstNumber = 0x6A; break;    //0x016A

            case  83: instance.InstVariation = 0x00; instance.InstNumber = 0x6B; break;    //0x006B

            case  84: instance.InstVariation = 0x01; instance.InstNumber = 0x6B; break;    //0x016B

            case  85: instance.InstVariation = 0x00; instance.InstNumber = 0x6C; break;    //0x006C

            case  86: instance.InstVariation = 0x02; instance.InstNumber = 0x6E; break;    //0x026E

            case  87: instance.InstVariation = 0x00; instance.InstNumber = 0x40; break;    //0x0040

            case  88: instance.InstVariation = 0x00; instance.InstNumber = 0x41; break;    //0x0041

            case  89: instance.InstVariation = 0x00; instance.InstNumber = 0x42; break;    //0x0042

            case  90: instance.InstVariation = 0x00; instance.InstNumber = 0x43; break;    //0x0043

            case  91: instance.InstVariation = 0x00; instance.InstNumber = 0x45; break;    //0x0045

            case  92: instance.InstVariation = 0x01; instance.InstNumber = 0x47; break;    //0x0147

            case  93: instance.InstVariation = 0x01; instance.InstNumber = 0x49; break;    //0x0149

            case  94: instance.InstVariation = 0x00; instance.InstNumber = 0x4A; break;    //0x004A

            case  95: instance.InstVariation = 0x01; instance.InstNumber = 0x4A; break;    //0x014A

            case  96: instance.InstVariation = 0x02; instance.InstNumber = 0x4A; break;    //0x024A

            case  97: instance.InstVariation = 0x03; instance.InstNumber = 0x4A; break;    //0x034A

            case  98: instance.InstVariation = 0x00; instance.InstNumber = 0x4F; break;    //0x004F

            case  99: instance.InstVariation = 0x01; instance.InstNumber = 0x4F; break;    //0x014F

            case 100: instance.InstVariation = 0x02; instance.InstNumber = 0x4F; break;    //0x024F

            case 101: instance.InstVariation = 0x03; instance.InstNumber = 0x4F; break;    //0x034F

            case 102: instance.InstVariation = 0x01; instance.InstNumber = 0x1A; break;    //0x011A

            case 103: instance.InstVariation = 0x02; instance.InstNumber = 0x1A; break;    //0x021A

            case 104: instance.InstVariation = 0x03; instance.InstNumber = 0x1B; break;    //0x031B

            case 105: instance.InstVariation = 0x04; instance.InstNumber = 0x1B; break;    //0x041B

            case 106: instance.InstVariation = 0x05; instance.InstNumber = 0x1B; break;    //0x051B

            case 107: instance.InstVariation = 0x01; instance.InstNumber = 0x20; break;    //0x0120

            case 108: instance.InstVariation = 0x01; instance.InstNumber = 0x21; break;    //0x0121

            case 109: instance.InstVariation = 0x01; instance.InstNumber = 0x22; break;    //0x0122

            // ExSN04
            case 110: instance.InstVariation = 0x02; instance.InstNumber = 0x18; break;    //0x0218

            case 111: instance.InstVariation = 0x03; instance.InstNumber = 0x18; break;    //0x0318

            case 112: instance.InstVariation = 0x01; instance.InstNumber = 0x19; break;    //0x0119

            case 113: instance.InstVariation = 0x02; instance.InstNumber = 0x19; break;    //0x0219

            case 114: instance.InstVariation = 0x03; instance.InstNumber = 0x19; break;    //0x0319

            case 115: instance.InstVariation = 0x04; instance.InstNumber = 0x19; break;    //0x0419

            // ExSN05
            case 116: instance.InstVariation = 0x01; instance.InstNumber = 0x38; break;    //0x0138

            case 117: instance.InstVariation = 0x02; instance.InstNumber = 0x38; break;    //0x0238

            case 118: instance.InstVariation = 0x03; instance.InstNumber = 0x38; break;    //0x0338

            case 119: instance.InstVariation = 0x04; instance.InstNumber = 0x38; break;    //0x0438

            case 120: instance.InstVariation = 0x01; instance.InstNumber = 0x39; break;    //0x0139

            case 121: instance.InstVariation = 0x02; instance.InstNumber = 0x39; break;    //0x0239

            case 122: instance.InstVariation = 0x00; instance.InstNumber = 0x3A; break;    //0x003A

            case 123: instance.InstVariation = 0x01; instance.InstNumber = 0x3B; break;    //0x013B

            case 124: instance.InstVariation = 0x02; instance.InstNumber = 0x3B; break;    //0x023B

            case 125: instance.InstVariation = 0x01; instance.InstNumber = 0x3C; break;    //0x013C

            case 126: instance.InstVariation = 0x02; instance.InstNumber = 0x3C; break;    //0x023C
            }
        }
示例#4
0
        public static IntegraParameterProvider <byte> NewGetParameterType(this SuperNATURALAcousticToneCommon instance)
        {
            switch (instance.Instrument)
            {
            // INT
            case IntegraSNAInstruments.ConcertGrand:
            case IntegraSNAInstruments.GrandPiano1:
            case IntegraSNAInstruments.GrandPiano2:
            case IntegraSNAInstruments.GrandPiano3:
            case IntegraSNAInstruments.MellowPiano:
            case IntegraSNAInstruments.BrightPiano:
            case IntegraSNAInstruments.UprightPiano:
            case IntegraSNAInstruments.HonkyTonk:
                return(new SNAPiano(instance));

            case IntegraSNAInstruments.ConcertMono:
                return(new SNAPianoMono(instance));

            case IntegraSNAInstruments.PureVintageEP1:
            case IntegraSNAInstruments.PureVintageEP2:
            case IntegraSNAInstruments.PureVintageEP3:
            case IntegraSNAInstruments.PureWurly:
            case IntegraSNAInstruments.OldHammerEP:
            case IntegraSNAInstruments.DynoPiano:
            case IntegraSNAInstruments.ClavCBFlat:
            case IntegraSNAInstruments.ClavCAFlat:
            case IntegraSNAInstruments.ClavCBMedium:
            case IntegraSNAInstruments.ClavCAMedium:
            case IntegraSNAInstruments.ClavCBBrillia:
            case IntegraSNAInstruments.ClavCABrillia:
            case IntegraSNAInstruments.ClavCBCombo:
            case IntegraSNAInstruments.ClavCACombo:
            case IntegraSNAInstruments.FrenchAccordion:
            case IntegraSNAInstruments.ItalianAccordion:
            case IntegraSNAInstruments.Bandoneon:
                return(new SNAKeys(instance));

            case IntegraSNAInstruments.Glockenspiel:
            case IntegraSNAInstruments.Marimba:
            case IntegraSNAInstruments.Xylophone:
            case IntegraSNAInstruments.TubularBells:
                return(new SNABellMallet1(instance));

            case IntegraSNAInstruments.Vibraphone:
                return(new SNABellMallet2(instance));

            case IntegraSNAInstruments.TWOrgan:
                return(new SNAOrgan(instance));

            case IntegraSNAInstruments.Harmonica:
                return(new SNAHarmonica(instance));

            case IntegraSNAInstruments.NylonGuitar:
            case IntegraSNAInstruments.NylonGuitar2:
            case IntegraSNAInstruments.SteelStrGuitar:
            case IntegraSNAInstruments.SteelStrGuitar2:
            case IntegraSNAInstruments.SteelFingGuitar:
                return(new SNAGuitar1(instance));

            case IntegraSNAInstruments.FlamencoGuitar:
                return(new SNAGuitar2(instance));

            case IntegraSNAInstruments.TCGuitarFing:
            case IntegraSNAInstruments.Guitar335Fing:
            case IntegraSNAInstruments.JazzGuitar:
                return(new SNAGuitar3(instance));

            case IntegraSNAInstruments.Steel12ThGtr:
                return(new SNAGuitar4(instance));

            case IntegraSNAInstruments.STGuitarHalf:
            case IntegraSNAInstruments.STGuitarFront:
            case IntegraSNAInstruments.TCGuitarRear:
            case IntegraSNAInstruments.LPGuitarFront:
            case IntegraSNAInstruments.LPGuitarRear:
            case IntegraSNAInstruments.Guitar335Half:
                return(new SNAElectricGuitar(instance));

            // ExSN01
            case IntegraSNAInstruments.Santoor:
            case IntegraSNAInstruments.YangChin:
                return(new SNABellMallet3(instance));

            case IntegraSNAInstruments.Ukelele:
                return(new SNAUkelele(instance));

            case IntegraSNAInstruments.Mandolin:
                return(new SNAMandolin(instance));

            case IntegraSNAInstruments.AcousticBass:
            case IntegraSNAInstruments.AcousticBass2:
            case IntegraSNAInstruments.FretlessBass:
                return(new SNABass1(instance));

            case IntegraSNAInstruments.FingeredBass:
            case IntegraSNAInstruments.FingeredBass2:
                return(new SNABass2(instance));

            case IntegraSNAInstruments.PickedBass:
            case IntegraSNAInstruments.PickedBass2:
                return(new SNABass3(instance));

            case IntegraSNAInstruments.FrenchHorn:
            case IntegraSNAInstruments.FrenchHorn2:
            case IntegraSNAInstruments.Tuba:
            case IntegraSNAInstruments.MuteFrenchHorn:
                return(new SNABrass1(instance));

            case IntegraSNAInstruments.Trumpet:
            case IntegraSNAInstruments.Trumpet2:
            case IntegraSNAInstruments.ClassicalTrumpet:
            case IntegraSNAInstruments.MuteTrumpet:
            case IntegraSNAInstruments.StraightMuteTp:
            case IntegraSNAInstruments.CupMuteTrumpet:
            case IntegraSNAInstruments.Trombone:
            case IntegraSNAInstruments.Trombone2:
            case IntegraSNAInstruments.Tb2CupMute:
            case IntegraSNAInstruments.BassTrombone:
            case IntegraSNAInstruments.FlugelHorn:
                return(new SNABrass2(instance));

            case IntegraSNAInstruments.MariachiTp:
                return(new SNABrass3(instance));

            case IntegraSNAInstruments.Harp:
                return(new SNAHarp(instance));

            case IntegraSNAInstruments.Timpani:
                return(new SNATimpani(instance));

            case IntegraSNAInstruments.SteelDrums:
                return(new SNASteelDrums(instance));

            case IntegraSNAInstruments.Sitar:
            case IntegraSNAInstruments.Sarangi:
                return(new SNASitar(instance));

            case IntegraSNAInstruments.Tsugaru:
            case IntegraSNAInstruments.Sansin:
                return(new SNAShamisen(instance));

            case IntegraSNAInstruments.Koto:
                return(new SNAKoto1(instance));

            case IntegraSNAInstruments.TaishouKoto:
                return(new SNAKoto2(instance));

            case IntegraSNAInstruments.Kalimba:
                return(new SNAKalimba(instance));

            case IntegraSNAInstruments.Violin:
            case IntegraSNAInstruments.Violin2:
            case IntegraSNAInstruments.Viola:
            case IntegraSNAInstruments.Cello:
            case IntegraSNAInstruments.Cello2:
            case IntegraSNAInstruments.Contrabass:
                return(new SNAStrings1(instance));

            case IntegraSNAInstruments.Erhu:
                return(new SNAStrings2(instance));

            case IntegraSNAInstruments.Strings:
            case IntegraSNAInstruments.MarcatoStrings:
                return(new SNAStrings3(instance));

            case IntegraSNAInstruments.Oboe:
            case IntegraSNAInstruments.Bassoon:
            case IntegraSNAInstruments.Clarinet:
            case IntegraSNAInstruments.Piccolo:
            case IntegraSNAInstruments.Flute:
            case IntegraSNAInstruments.Flute2:
            case IntegraSNAInstruments.EnglishHorn:
            case IntegraSNAInstruments.BassClarinet:
                return(new SNAWind1(instance));

            case IntegraSNAInstruments.PanFlute:
                return(new SNAPanFlute(instance));

            case IntegraSNAInstruments.UilleannPipes:
            case IntegraSNAInstruments.BagPipes:
                return(new SNAPipes(instance));

            case IntegraSNAInstruments.Shakuhachi:
            case IntegraSNAInstruments.Ryuteki:
            case IntegraSNAInstruments.OcarinaSopF:
            case IntegraSNAInstruments.OcarinaSopC:
            case IntegraSNAInstruments.OcarinaAlto:
            case IntegraSNAInstruments.OcarinaBass:
                return(new SNAWind2(instance));

            case IntegraSNAInstruments.TinWhistle:
                return(new SNAWhistle(instance));

            case IntegraSNAInstruments.AltoRecorder:
            case IntegraSNAInstruments.BassRecorder:
            case IntegraSNAInstruments.SopranoRecorder:
            case IntegraSNAInstruments.TenorRecorder:
                return(new SNARecorder(instance));

            case IntegraSNAInstruments.SopranoSax:
            case IntegraSNAInstruments.SopranoSax2:
            case IntegraSNAInstruments.AltoSax:
            case IntegraSNAInstruments.AltoSax2:
            case IntegraSNAInstruments.TenorSax:
            case IntegraSNAInstruments.TenorSax2:
            case IntegraSNAInstruments.BaritoneSax:
            case IntegraSNAInstruments.BaritoneSax2:
                return(new SNASax(instance));

            case IntegraSNAInstruments.LondonChoir:
            case IntegraSNAInstruments.BoysChoir:
                return(new SNAChoir(instance));

            default:
                return(null);
            }
        }
 /// <summary>
 /// Creates a new <see cref="IntegraSNAProvider"/> instance.
 /// </summary>
 /// <param name="provider">The model that provides the parameters.</param>
 protected IntegraSNAProvider(SuperNATURALAcousticToneCommon provider) : base(provider)
 {
 }