Example #1
0
        /// <summary>
        /// Initializes the audio system by instantiating the driver with the given
        /// AudioTypeID.  The audio driver must be registered with the Registrar
        /// class.
        /// </summary>
        /// <param name="audioType"></param>
        public static void Initialize(AudioTypeID audioType)
        {
            Core.Initialize();

            impl = Registrar.CreateAudioDriver(audioType);
            impl.Initialize();
        }
Example #2
0
        /// <summary>
        /// Disposes of the audio driver.
        /// </summary>
        public static void Dispose()
        {
            OnDispose();

            if (impl != null)
            {
                impl.Dispose();
                impl = null;
            }
        }
Example #3
0
        protected override Audio.ITrack CreateTrack(int trackID)
        {
            var music = AudioImpl.GetMusicTrackData(dataSource, trackID);

            if (DataSource.DosMusic(dataSource))
            {
                return(new MidiMusic(new XMI(music)));
            }

            throw new ExceptionFreeserf(ErrorSystemType.Data, $"Only DOS data uses MIDI music");
        }