Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Графика -> Гончаров Д. -> "DirectX 7.0 Для программистов" -> 112

DirectX 7.0 Для программистов - Гончаров Д.

Гончаров Д., Салихо Т. DirectX 7.0 Для программистов — Спб.: Питер, 2001. — 528 c.
ISBN 5-318-00173-4
Скачать (прямая ссылка): dirext7dlyaprogrammistov2001.djvu
Предыдущая << 1 .. 106 107 108 109 110 111 < 112 > 113 114 115 116 117 118 .. 229 >> Следующая

О IReferenceClock — интерфейс, представляющий собой главные часы компонента DirectMusic и портов, использующиеся для синхронизации.
Из перечисленных интерфейсов во втором примере данного урока мы рассмотрим работу с IDirectMusic и IDirectMusicPort.
Кроме описанных на уровне ядра объявляются интерфейсы для взаимодействия с музыкальными инструментами. Среди них:
О IDirectMusicCollection — интерфейс, предназначенный для взаимодействия с DLS-файлом. После получения этого интерфейса имеется возможность перечисления всех инструментов в файле, загрузки их в выбранный порт и получения доступа к выбранному инструменту.
О IDirectMusicInstrument — интерфейс, представляющий конкретный инструмент в наборе. Этот интерфейс позволяет взаимодействовать только с еще не загруженным инструментом и может использоваться для его загрузки. Получить указатель на этот интерфейс можно при помощи интерфейса IDirectMusic Collection.
О IDirectMusicDownloadedlnstrument — интерфейс, отличающийся от предыдущего тем, что представляет в программе уже загруженный инструмент и может использоваться для его выгрузки. Указатель на этот интерфейс получается
Что такое DirectMusic
261
обычно в момент загрузки инструмента, идентифицируемого через IDi rect Musiclnstrument.
О IDirectMusicPortDownload — низкоуровневый интерфейс, позволяющий загружать участки памяти непосредственно в порт, поддерживающий DLS. Чаще всего этот интерфейс используется в приложениях, занимающихся непосредственным редактированием инструментов DLS. К таким приложениям относится, например, DirectMusic Producer, входящий в комплект поставки DirectX SDK.
О IDirectMusicDownload — интерфейс, позволяющий взаимодействовать с участком памяти, использованным для загрузки в DLS-порт. Этот интерфейс, как правило, создается, используя методы предыдущего упомянутого интерфейса IDi rectMusi cPortDownload.
О IDi rectMusi cBand — интерфейс, используемый для установки набора (полосы — band) инструментов для выбранной группы PChannel или музыкального сегмента, а также изменения громкости и т. д.
Это все интерфейсы, реализованные в слое ядра DirectMusic. Большинство из них может понадобиться лишь в приложениях, требующих максимального контроля за воспроизведением и загрузкой инструментов.
Интерфейсы выполняющего слоя
Интерфейсы, которые определены в выполняющем слое, по определению избавляют программиста от рутинной заботы о всевозможных мелких деталях, позволяя сконцентрироваться на общей концепции. Однако в силу своей «высокоуровневое™» каждый из этих интерфейсов имеет значительно больше методов, чем средний интерфейс из слоя ядра. Например, интерфейс IDi rectMusi cPerformance содержит 41 метод.
Но обо всем по порядку:
О IDi rectMusi cPerformance — интерфейс, реализующий функции главного менеджера воспроизведения звука средствами DirectMusic. Обладая наибольшим количеством методов, этот интерфейс обеспечивает высокоуровневое взаимодействие программы с DirectMusic. Используя этот интерфейс, можно управлять такими аспектами, как создание и удаление интерфейсов портов, загрузка инструментов, воспроизведение мелодий и многими другими. Для большинства таких действий реализовано поведение по умолчанию. Этот интерфейс будет активно использоваться в примерах данного урока.
О IDi rectMusi cSegment — интерфейс, представляющий в программе фрагмент музыкальных данных и состоящий из дорожек (tracks). Его можно сравнить со своеобразным менеджером этих дорожек. Обычно сегмент загружается из файла (например, MIDI-файла) либо создается во время выполнения программы при помощи интерфейсов, которые будут рассмотрены далее. Интерфейс IDi rectMusi cSegment, как правило, передается интерфейсу IDi rectMusi cPerformance для последующего воспроизведения загруженных данных. При воспроизведении генерируется интерфейс IDi rectMusi cSegmentState, описывающий состояние проигрываемого сегмента. Запомнив указатель на этот интерфейс, можно впоследствии останавливать воспроизведение сегмента и удалять его из воспроизведения. Впрочем, останавливать все сегменты можно и при помощи методов IDi rectMusi cPerformance.
262
Урок 9 • Основы использования DirectMusic
О IDirectMusicTrack — интерфейс, использующийся в программе для взаимодействия с конкретной дорожкой внутри сегмента. Этот интерфейс обеспечивает необходимый уровень абстракции для сегмента, избавляя этот сегмент от необходимости разбираться в физической реализации дорожки. Методы этого интерфейса редко используются непосредственно в программе.
О IDirectMusicLoader — интерфейс, который управляет загрузкой в память с диска объектов DirectMusic, необходимых программе. Он позволяет выполнять также перечисление и кэширование объектов и избавляет программу от необходимости знать конкретные особенности устройства файла, в котором содержится объект. Если отказаться от использования методов этого интерфейса, то в программе придется реализовывать свой собственный вариант загрузчика.
В наличии также имеются два интерфейса, на базе которых можно создавать свои собственные интерфейсы. Объекты созданных интерфейсов позволяют перехватывать музыкальные сообщения до того, как они попадают в порт, и могут удалять какие-то сообщения, добавлять свои и т. д. Объекты, реализующие такие функции, называются инструментами (хотя лучше было бы их назвать корректорами, чтобы избежать путаницы, но путаница возникает только в русском языке — по-английски они именуются tools). Таких базовых интерфейсов два:
Предыдущая << 1 .. 106 107 108 109 110 111 < 112 > 113 114 115 116 117 118 .. 229 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.