Esempio n. 1
0
 public unsafe void OpenData(ReadOnlySpan <byte> data)
 {
     fixed(byte *ptr = data)
     {
         Check(AdlMidiImports.adl_openData(_device, ptr, (uint)data.Length));
     }
 }
Esempio n. 2
0
        public Instrument GetInstrument(uint index)
        {
            var result = AdlMidiImports.adl_getInstrument(_device, ref _bank, index, out var instrument);

            if (result < 0)
            {
                throw new InvalidOperationException();
            }
            return(instrument);
        }
Esempio n. 3
0
        public BankId GetBankId()
        {
            var result = AdlMidiImports.adl_getBankId(_device, ref _bank, out var id);

            if (result < 0)
            {
                throw new InvalidOperationException();
            }
            return(id);
        }
Esempio n. 4
0
        int Check(int result)
        {
            if (result >= 0)
            {
                return(result);
            }

            var error = AdlMidiImports.adl_errorInfo(_device);

            throw new InvalidOperationException(error);
        }
Esempio n. 5
0
        public static MidiPlayer Init(long sampleRate = DefaultChipSampleRate)
        {
            var midiPlayer = AdlMidiImports.adl_init(sampleRate);

            if (midiPlayer == IntPtr.Zero)
            {
                throw new InvalidOperationException(ErrorString());
            }

            return(new MidiPlayer(midiPlayer));
        }
Esempio n. 6
0
 public void Reset() => AdlMidiImports.adl_reset(_device);
Esempio n. 7
0
 public void Close() => AdlMidiImports.adl_close(_device);
Esempio n. 8
0
 public void OpenFile(string filePath) => Check(AdlMidiImports.adl_openFile(_device, filePath));
Esempio n. 9
0
 public static string[] GetBankNames() => AdlMidiImports.adl_getBankNames();
Esempio n. 10
0
 public static int GetBankCount() => AdlMidiImports.adl_getBanksCount();
Esempio n. 11
0
 public static string ErrorString() => AdlMidiImports.adl_errorString();
Esempio n. 12
0
        public static Version LinkedVersion()
        {
            var version = AdlMidiImports.adl_linkedVersion();

            return(new Version(version.Major, version.Minor, version.Patch));
        }
Esempio n. 13
0
 public static string LinkedLibraryVersion() => AdlMidiImports.adl_linkedLibraryVersion();
Esempio n. 14
0
 public int LoadEmbeddedBank(int num)
 {
     return(AdlMidiImports.adl_loadEmbeddedBank(_device, ref _bank, num));
 }
Esempio n. 15
0
 public int SetInstrument(uint index, ref Instrument ins)
 {
     return(AdlMidiImports.adl_setInstrument(_device, ref _bank, index, ref ins));
 }
Esempio n. 16
0
 public int RemoveBank()
 {
     return(AdlMidiImports.adl_removeBank(_device, ref _bank));
 }