Описание функций и модулей

Описание функций и модулей. Модуль func.pas содержит процедуры обеспечивающие хранение списка последних открытых файлов procedure RegisterFile(filename:string); Добавление пути в список открытых файлов procedure UpdLastFilesList; обновление списка открытых файлов в главном меню программы function CorPath(Path:String):string; Сокращение пути к файлу для большей информативности Вот пример хранения списка в файле: [lastFiles] N1=C:Documents and SettingsmainDesktopOOPKoursMoonlight.wav ind=5 N2=C:Documents and SettingsmainDesktopOOPKoursNot with you.wav N3=C:Documents and SettingsmainDesktopOOPKourssin.wav N4=C:Documents and SettingsmainDesktopOOPKoursAlizee.wav N5=C:Documents and SettingsmainDesktopOOPKoursAqua.wav N6=C:Documents and SettingsmainDesktopOOPKoursля. WAV Модули vol.pas и selectDev.pas используются формами Получение списка доступных аудиоустройств и их свойств: procedure TForm2.FormShow(Sender: TObject); var caps: TWaveOutCapsA; i,DevCount:integer; begin ListBox1.Clear; DevCount:=waveOutGetNumDevs; for i:=0 to devcount-1 do begin waveOutGetDevCaps(i, @caps,SizeOf(TWAVEOUTCAPSA)); ListBox1.Items. Add(caps.szPname); end; waveOutGetDevCaps(WAVE_MAPPER, @caps, SizeOf(TWAVEOUTCAPSA)); ListBox1.Items. Add(caps.szPname); end; Модуль unit1.pas: Procedure SaveWFile(FileName:String); Сохранение данных из объекта TMemoryStream в файл Procedure OpenWFile(FileName:String); Загрузка данных из файла посредствам объекта TFileStream в память (TMemoryStream) c проверкой формата и получением данных о звуке (глубина, частота дискретизации, количество каналов), после чего инициализация устройства вывода, подготовка буферов и воспроизведение звука. procedure waveoutProc(hwi: HWAVEOUT; uMsg, dwInstance, dwParam1, dwParam2: DWORD); stdcall; Стандартная callback-функция вызываемая драйвером аудио из вне при завершении проигрывания очередного буфера.

При её вызове происходит считывание очередной порции данных и передача их драйверу. procedure DrawOscio; Прорисовка осциллограммы текущего аудио фрагмента на поверхности объека TPaintBox. procedure BuildPeaks; Подготовка данных для вывода примерной диаграммы всего файла. procedure TForm1.TrackBar4Change(Sender: TObject); Событие, вызываемое при перемещении ползунка на линии времени, выполняется изменение текущей позиции в аудио потоке и обновление осциолограммы.