Технологии программирования миди

 Навигация:

 Поиск:

 Новости:

17.02.2007
Полностью переработан дизайн сайта.

6.01.2007
Добавлен раздел Наработки Полезные и интересные программы и их исходники от автора.

19.11.2006
Функции WriteVarLen и ReadVarLen портированы с СИ на Delphi читать

14.11.2006
Появилась cтатья Midi-протокол глазами программиста

24.10.2006
Написана вторая часть MMSystem Функции midiOutGetVolume midiOutSetVolume midiOutMessage midiOutShortMsg и midiOutLongMsg

12.10.2006
Добавлен раздел Multimedia , который содержит большое количество информации по мультимедийным технологиям.

1.09.2006
Добавлен раздел MMSystem в котором находятся
подробные опсания функций winmm.dll, определенных в модуле mmSystem.pas,
с примерами их использования в Delphi.

13.08.2006
Опубликован исходник приложения, записывающего игру на клавиатуре
в стандартный midi-файл SMF - 0

4.07.2006
Добавлен раздел Структура формата миди-файла

 Счетчики:
Rambler's Top100 Яндекс цитирования Rambler's Top100
 Контент:

Функции WriteVarLen и ReadVarLen

Данные функции используються для записи и чтения величин переменной длины.
Интерпретированы мною с языка C под Delphi.

...
var
outfile: file of byte;
infile: file of byte;

implementation

...
function WriteVarLen(value:longword): LongWord;
var
buffer: longword;
c: byte;
begin
buffer := value and $7F;
value:=( value shr 7);
while (value<>0) do
begin
buffer := buffer shl 8;
buffer := buffer or ((value and $7f) or $80);
value:=( value shr 7);
end;
Result:= buffer;

repeat
c:= buffer and $FF;
write(outfile,c);
if (c and $80)=$80 then buffer:= buffer shr 8
else break;
until c =0;
end;

function ReadVarLen():LongWord;
var
c: byte;
value: LongWord;
begin
read(infile,c);
value:=c;
if (value and $80)<>0 then
begin
value:= value and $7f;

while (c and $80)<>0 do
begin
read(infile,c);
value := ((value shl 7) + c and $7F);
end;
end;
Result:=value;
end;

Автор: Mo-skin(c) ,
URL: last.h16.ru - Технологии программирования миди.
Публикация данной статьи разрешается только при указании ссылки на сайт автора!


 Bash.org.ru:

 Реклама:

 ©Copyright:
http://www.last.h16.ru - программирование миди. Идея, разработка и поддержка : Mo-skin © 2006-2007
X