From 09bb3bc4d31ac925a13f51f8fc4944330da158bb Mon Sep 17 00:00:00 2001 From: Vitaly Novichkov Date: Mon, 16 Apr 2018 23:22:49 +0300 Subject: `NoteInfo` and it's parent `MIDIchannel` no more contains dynamic stuff Everything now are a simple types and fixed arrays. --- src/adlmidi_private.hpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/adlmidi_private.hpp') diff --git a/src/adlmidi_private.hpp b/src/adlmidi_private.hpp index 08c22c0..6391f2a 100644 --- a/src/adlmidi_private.hpp +++ b/src/adlmidi_private.hpp @@ -618,8 +618,14 @@ public: size_t midiins; // Index to physical adlib data structure, adlins[] size_t insmeta; + enum + { + MaxNumPhysChans = 2 + }; struct Phys { + //! Destinition chip channel + uint16_t chip_chan; //! ins, inde to adl[] size_t insId; //! Is this voice must be detunable? @@ -634,9 +640,10 @@ public: return !operator==(oth); } }; - typedef std::map PhysMap; - // List of OPL3 channels it is currently occupying. - std::map phys; + //! List of OPL3 channels it is currently occupying. + Phys chip_channels[MaxNumPhysChans]; + //! Count of used channels. + size_t chip_channels_max; }; char ____padding2[5]; NoteInfo activenotes[128]; -- cgit v1.2.3