• XSS.stack #1 – первый литературный журнал от юзеров форума

Пример создания формы с XM музыкой.

demien

(L2) cache
Пользователь
Регистрация
29.09.2008
Сообщения
492
Реакции
14
Пример создания формы с XM музыкой. (как в забугорных крэках :))

Этот пример будет проигрывать Fmod'ом FM и XM файлы...
Этот вариант немного лучше проигрывания мид файла, как показал JAW (тут) (я кстати года два назад тоже начинал с мида)
в забугорном инете вы найдете огромное количество композиций.. :)
вот тут пример проги (билдера, не забудьте, что для его работы нужен еще stub.exe :), выкладываю чисто для примера... файл старенький.. :)

copy&past и сохраните файлы соответственно uFMOD.pas и ufmod.obj.
Вот эти файлы в рар ахриве

ну да приступим...

uFMOD.pas
Код:
unit uFMOD;
interface
function uFMOD_PlaySong(lpXM:Pointer;param,fdwSong:LongWord):Pointer; stdcall; external;
procedure uFMOD_StopSong;
procedure uFMOD_Jump2Pattern(pat:LongWord); stdcall; external;
procedure uFMOD_Rewind;
procedure uFMOD_Pause; external;
procedure uFMOD_Resume; external;
function uFMOD_GetStats:LongWord; stdcall; external;
function uFMOD_GetRowOrder:LongWord; stdcall; external;
function uFMOD_GetTime:LongWord; stdcall; external;
function uFMOD_GetTitle:PChar; stdcall; external;
procedure uFMOD_SetVolume(vol:LongWord); stdcall; external;

const
	XM_RESOURCE       = 0;
	XM_MEMORY         = 1;
	XM_FILE           = 2;
	XM_NOLOOP         = 8;
	XM_SUSPENDED      = 16;
  uFMOD_MIN_VOL     = 0;
  uFMOD_MAX_VOL     = 25;
  uFMOD_DEFAULT_VOL = 25;

implementation

function WaitForSingleObject(hObject,dwTimeout:LongInt):LongInt; stdcall; external 'kernel32.dll';
function CloseHandle(hObject:LongInt):LongInt; stdcall; external 'kernel32.dll';
function CreateThread(lpThreadAttributes:Pointer;dwStackSize:LongInt;lpStartAddress,lpParameter:Pointer;dwCreationFlags:LongInt;lpThreadId:Pointer):LongInt; stdcall; external 'kernel32.dll';
function SetThreadPriority(hThread,nPriority:LongInt):LongInt; stdcall; external 'kernel32.dll';
function HeapAlloc(hHeap,dwFlags,dwBytes:LongInt):LongInt; stdcall; external 'kernel32.dll';
function HeapCreate(flOptions,dwInitialSize,dwMaximumSize:LongInt):LongInt; stdcall; external 'kernel32.dll';
function HeapDestroy(hHeap:LongInt):LongInt; stdcall; external 'kernel32.dll';
procedure Sleep(cMillis:LongInt); stdcall; external 'kernel32.dll';
function FindResourceA(hModule:LongInt;lpName,lpType:PChar):LongInt; stdcall; external 'kernel32.dll';
function LoadResource(hModule,hrsrc:LongInt):LongInt; stdcall; external 'kernel32.dll';
function SizeofResource(hModule,hrsrc:LongInt):LongInt; stdcall; external 'kernel32.dll';
function CreateFileA(lpFileName:PChar;dwDesiredAccess,dwShareMode:LongInt;lpSecurityAttributes:Pointer;dwCreationDistribution,dwFlagsAndAttributes,hTemplateFile:LongInt):LongInt; stdcall; external 'kernel32.dll';
function CreateFileW(lpFileName:PWideChar;dwDesiredAccess,dwShareMode:LongInt;lpSecurityAttributes:Pointer;dwCreationDistribution,dwFlagsAndAttributes,hTemplateFile:LongInt):LongInt; stdcall; external 'kernel32.dll';
function ReadFile(hFile:LongInt;lpBuffer:Pointer;nNumberOfBytesToRead:LongInt;lpNumberOfBytesRead,lpOverlapped:Pointer):LongInt; stdcall; external 'kernel32.dll';
function SetFilePointer(hFile,lDistanceToMove:LongInt;lpDistanceToMoveHigh:Pointer;dwMoveMethod:LongInt):LongInt; stdcall; external 'kernel32.dll';

{ *** Import: winmm *** }
function waveOutClose(hwo:LongInt):LongInt; stdcall; external 'winmm.dll';
function waveOutGetPosition(hwo:LongInt;pmmt:Pointer;cbmmt:LongInt):LongInt; stdcall; external 'winmm.dll';
function waveOutOpen(phwo:Pointer;uDeviceID:LongWord;pwfx:Pointer;dwCallback,dwCallbackInstance,fdwOpen:LongWord):LongInt; stdcall; external 'winmm.dll';
function waveOutPrepareHeader(hwo:LongInt;pwh:Pointer;cbwh:LongWord):LongInt; stdcall; external 'winmm.dll';
function waveOutReset(hwo:LongInt):LongInt; stdcall; external 'winmm.dll';
function waveOutUnprepareHeader(hwo:LongInt;pwh:Pointer;cbwh:LongWord):LongInt; stdcall; external 'winmm.dll';
function waveOutWrite(hwo:LongInt;pwh:Pointer;cbwh:LongWord):LongInt; stdcall; external 'winmm.dll';

{$L ufmod.obj}

procedure uFMOD_StopSong;
var i:Pointer;
begin
	i:=uFMOD_PlaySong(nil,0,0)
end;

procedure uFMOD_Rewind;
begin
	uFMOD_Jump2Pattern(0)
end;
end.

ufmod.obj -нужный файл для работы первого
Код:
Ђ  src\nasm.asm¤–  _TEXTCODE_DATADATA_BSSBSS°˜ ©  ґ˜ ©чҐ™  in" Xђ  uFMOD_Jump2Pattern0  mђ  uFMOD_SetVolumeЃ  *ђ  uFMOD_Pauseљ  їђ  uFMOD_Resumeћ  Fђ  uFMOD_GetStats¦  |ђ  uFMOD_GetRowOrderЄ  Mђ  
uFMOD_GetTimeє  кђ  uFMOD_GetTitleя  0ђ  uFMOD_PlaySong Њ<WaitForSingleObject CloseHandle  CreateThread SetThreadPriority  HeapAlloc 
HeapCreate HeapDestroy Sleep  waveOutClose waveOutGetPosition waveOutOpen waveOutPrepareHeader  waveOutReset waveOutUnprepareHeader  waveOutWrite CreateFileA ReadFile SetFilePointer 
FindResourceA  LoadResource SizeofResource Ћ*ю    Ђ»   о     Ц     Ц     ,  q  п  ‹D$№$   ·Аѓa f;AТ!Љ  ‚ ¤ П HќЋ7j+
НIЉ' z(х2'@ГP*e ЂZXѓшvjXf‹„ M   Ј„!  яв°л1Аўq!  ГjлjYєё! ‹К‹ВГЎј! ГPj	я5\  и    …АuZ[ЙГWV—ѕt!  *‰С9В|+‘…Й~*‰VьЉ€@GIuч^_ё@" Гj
VЌuмѓf я6и    Pя6Pя6и    ‰и    ‰FГj hЂ   jj jh   ЂVи    jяjєt!  ‰CЏBЏГ1ТЎl  RTVWPRRQPи    и    ГSVWU—…Т]_^[ГЅx!  ‹u +ux№    )с~ЃЖp  )КyСM у¤…Т~Р‰СM Ѓб аяя+M ~)К‰ОR‹E M ‘и‹яяячZ‹M WЃб аяяR‰Mѕ    їp  иkяяяZ_л‡яsи    єx!  t…Аx;Bьw‰Гик   XZЏt!  Y…ТPtмSVWU»d  Ѕ€!  1А‰EрцБѕ   uцБЌvuЌvмцБ•EиЂб€Mй‰пҐҐҐ‰Ц9EьufЗEь ЂPPPPPPh    jяSи    и    …А‰Cшt‰uфиы  —яU…яtjѕ˜! ЗF   ѓNяjЗ˜!  ЏFj Vя3и    1яиы   9{uц‰{j Vя3и    …Аu(UWWhh  WWи    …А‰CьtjPи    “]_^[ГSVWUЅ`  ‹E …Аt‰EPUPи    и    1Ы‰] ‹}‰]…яt‰]Wj h˜! WWи    и    и    ‹Eь…Аt‰]ьPи    “№#   їё! у«]_^[ГUVЅP  jЏE jUяuи    ‹uБоѓжjи    ѓ} t^]В 9utРЂ=q!   uёё! ю Ђ8|Ж  h€  №   SVWUїp  1АWWѕ$   у«8q!  •…в   Ѕ   ‹^д…Ы…€   9^м‹NЬub}ќдTдTдTдTд Tд$Tд(Tд,Tд5TдЏTд”TдЎTд®Tд»TдЕT¤КдЪTе TҐҐҐ$Ґ@еITеYTҐgҐlеЂTе—TевTҐуешTжTж$Tж)Tж6TжmT¦u¦zж–Tж©T¦¶¦ПжЫT¦в¦сз T§§з1T§8
§=§B	§Rз]TзkT§{
§‹зЎTз©TзёTзЖTзПTзЧTB*юъK‹‹F‰…Т‰^|‰Vф…А|‰Fши_
  ѓ~яuC‹Fш@f;|0‹Vф·NB1А9К| 8p!  tЅ`  [ЏEйРюяя·V9КЙ!К‰‰Fли   ‹Fр‹^яFмFь9Fм|ѓfь ѓfм ‰п9ыs‰ЯZ)эЌъPи:  Ќї™Ба№А  чсј! )ы…н…>яяя‰^д‹h  ЌХД! ‹NшNт‰
X^1Ы‹FшБаЌё˜!  №   ђђђ*W™‰ЗV1РѕА?  )Р1ТчцЃъа  ^ѓШя= Ђ  ТчТ	РБя%я  ч%„!  БиСЙТ!ВХСБТчТ!ВУ1ш)ш_If«u«Ўh  @ѓш|1АЈh  Бн
Бгf‰л‰ЕА! ]_^[Г  %1<GQZbjpuz}~~}zupjbZQG<1%     !"$%&')*+,-./01234567889:;;<<==>>>???@@@@@«ЄЄ=  VA«ЄЄ: ¬F‹NSUV‹q,…ц„  RR‹YWЂy> ‹V‹A0uV)Ъw‹)ЪчЪчШЪчЪЪ€л  ‹i¬Р‹YБк¬ЭuЅиґ ЗA ќ6 чх1нчЪи„;  »€!  9ш—Cкs—·A<‹Q‹iБе	Х…А‰{рt;i t0‰i Бвf1н+Q41АБъ‰Q$t°ЂБн	+i8Бэ‰i(t°Ђ…Аf‰A<t9Зv‰З‹A$‰‹A(‰C‰{м‹YЌ\^VЂy> ‹t$‹Q‹itчЭчТѓЪяђWRї;їC‹Q0)шСкчкБз¤Въ’‰Зчi8¬РСВѓвРСш—чi4¬РСВѓвР‹=Њ!  СшF‹€!  y8Q4Z1Аi0_РѓЖOЌCu˜‹|$ ‰t$)чБп^ЌF)ГСл‰Y·Q<…Тt&Ўt!  ™f)A<u+x!  ‰Q$чШ‰Q(Т…Ч…sюяя1Т8r!  u{¶FHu‹F‹nи9Гv)Г“чх)Х)лТчТ!УлLHчШѓТя!Q0!Q!Q,tF8A>t‹FчЭHѓнюI>Ш‹^Г;F|‹FFЌPяШчЭ“ѓнУюA>;^|Н‰i0…я‰Y…оэяя_XZ3ќA д=TдDTд¤Tд·TдѕTдЦTеTе8TеETеUTж:TзTзTзOTз\TзvT“*юфѓБ@^;NЊМэяя][Гє„   W)ВV…АRѕA
‰Чt™СвBЫ$Ш
ё  ЩАЩьЬйЩЙЩрЩиЮБЩэЭЩШ
ј  Ы$…цYt	)ЧW1ц‰ПлО)щ…ТyчЩчйѓвРБш^ш_Г¶NqЉFz‰КVrѓв?ѓа€VqtББТѓтѓКHu!БкБЙКчЪл‰ИѓбБи¶‘X  А1В)ВѕFsчкБшГи«яяяСш‰FЂГVѓЖи™яяя^‰FЂГЂ‹F‹NZ¶VpБв)ИРл)Р|Б‰NГWSU‰еЌ№Р   1Ы‹W5‰UдЉO9¶W1<ЌF=uѓГф‹G2‰EдЉO8¶W0ЌF<ѓЗР80ujQPЌL*ЌD.PЌDNPЌDJЌ\&P‹9РSЌ‹   ·‡9uyцEьt¶Eж9u¶Eе‰·‡‰‹‰EЬЌ‡J·9‹x·@‰}а‹Uр‰u‹Eшю лOБа)З—f1АцEьt¶Uд9UЬu8F:t2я‹Mм‰9‹}ф·Mаѓ' )Щt™чщ‰л
‹Eф‹‹EмZXY‹ яБш‰Й[_Гѓкrѓъ@w‰V
‰РѓвБиѓиt,Ht+Ht&Ht%ѓиv$Ht&Ht*Ht)HuАвt€VpЂ&ч‹FR‰FZГчЪV
Г€TsГБв‰V’чЪVЂГЂf‹Vw8тv‹N
чЩ‰Nvy8тvІяB€VwГ…ЙёАФ t™чсЈ<   ГяU ё    U‰ЖєP  яU‰е1Й‹F<QЌ@<иLчяяѓДЊSjЌVї@" YЉB< |ЄIuх‘«·N@·^FчЫ‰чТ!СчЫI¶Т‰]ф9С‡Њ  ЉVP9Вv’FIyф‰Eш@‰ю9Шs“¶NHiЙ  f‰FFЌ<Б‰ш)П¶NDѓщ@~1Й‰N0‰ЛБг„G  ‰MрЌXи€хяяЌ‰F4‰V8»Ђ   Ж@‰BШЪяMрuр‰Ч·NN‰~‰Чияяя·NLj@ЏF‰N‹Eфj	ЌEјZяЊ!  ‹EБ‹N0=   ‰·А‚љ   =  Т!Р„М  чб‰EрЌЂихяя‰G“V‹5Њ!  1ТЌEмBяЦ¶UмцВЂtAѓвt‰ШяЦцEмt1ТЌCBяЦцEмt^ќ! д-TдETд*TжЏTж˜TжБTз‹TзИT*юо1ТЌCBяЦцEмt1ТЌCBяЦцEмt1ТЌCBл…Тt€ЌCІяЦ^CЉVH8vЖ ѓГяMрu†яEь‹EфѓЗ;Eь‡2яяя‹Mш9Бr+‹‹F0VЌ4ЛЌ<ЂБзяMш‰шЖ@иXфяя‰Fѓо‹Eф9Eшsе^1А‰F‰FЌ~ «««ЉFH„А„г  €Eь‹^j!ЌE€ZяЊ!  ‹u€ЉUЈѓо!„Тt%1Аѓ}Ґ)ЙчС	КЂъ‡°  єР   ЌC@)ЦяЊ!  1Й–AихяяЌ“  1Аf‹
СбЂzтf‰
s€BъЂzуs€Bы8EЈ„\  ‰Eш‰]фЌEИ‹UҐяЊ!  ‹uМ‹}РЉEЦ‰ББи$€EЦtСmИСоСп‹EИ9р‰ЖЌ>)Вx)Чѓбt…яu1ц1Й‰З‰uМ‰}Р€MЪЌD иWуяя‹Mф‰яEшѓEфj—‹EшY:EЈЌuИуҐr€‰Mш‹4‹1А‹ЉnЉNчВ  Ая…Т   ѓЖЂэ*uOB‰чСъSRЌRЧЌPЌEИ‰ГяЊ!  Z‰шяЊ!  ‰т1Й9ъ}!Љ€Д$ЧАмG Е€аЧ иБа	Б‰
БйѓВлЫ[л8Ув‰ряЊ!  ‹NмЌ<1Ќ1Т8VъuHOHЉ79шf‰wф1Т‰рff‰IЌ@фx$‹Fф‹NрИЂ~юЌFuf‹Hюл
Ђ~юuf‹Nf‰яEш‹Mш:MЈ‚%яяяЃГ  юMь…#юяя@[ЙГ‹FфU¶\0,‰е‹FшЌЩ‹N€mцчбЌ<Ђ‹SV…ТtЪЧѓмБбtРV‹vSFFсQЉ_ЉGѓг<t<”EфЉOtюЙx€NЉIЂщ`s€Nю¶N‹EьiЙ  Hа¶Fю™ЉD@<‰Mдs‹Ѓ…ТuєX" ‰Uш‹N‹F
‰Mи‹N‰Eм‰MрЉG<tЂ~gu‹NN
€Fg1Й‰N‰NЖЉIЂщ`sDѕBБ‹Eь€Nfц@&t‹Eшѕ@
™Бб)РСшЌ„ вяячШл	‘‹MшиЊшяя‰FRЂ}ф u‰FЂЂ tD‹EшWj	¶H‰N
Y¶@‰Fj@1АЏFBj Ќ~ЏFNЗFF   у«ЉNz_ЂщO}€FtцБu€FqЂ¶WиъяяЂ?asЂuюF:Tќ д°TдвTе(TеТTеЫTжTзT*юи‹MдцЃ  t	°иэшяял
Ђ~: tѓfB ‹MдцЃ	  t°иЮшяяЂ~: ‹Mдt·Ѓ  )FFyѓfF ¶GH¶W< w	…Тя…g  яuдяuши«  ѓоЂYѓЗ9ОЊKюяя[^ЙГл  л  с    ш    "  I  2  \  b  R  z    —  i  Є  f  f  f  і  f  f  f  4  f  =  f  I  f  f  f  Y  t€VhГt€Vpлt€Vl‹FRЂ&ц‰FZГБкt€Vr…Ыt€^s1Аt€Vlй“чяяБкt€Vu…Ыt€^vГБвt‰VV‹Mш‹QQ‹FV9Р‹Nr1АЂ&ч‰A‰A0‰AГt€VlГ‹Eьѓ` ‰юEц·H9|ѓ  ГБкЌ’ЌS‹Eь‰HЂ}ц uк‹HфA‰лЧЂъ ‰Сs‹Eь‰HрГйМшяяt‹Mь€Q!ГцЃ  t3Ќ™¤   ¶‰   1Аf;v9Иt@f;ѓwх‰FI9ИќF<|	·D‹ю‰FBГ‰V‹Lѓь‰К·Й‰Mм‹ѓ‰И·Йf1Т+MмRt	f1А)Р™чщ‘‰N"‹F+EмчйZР‰F>Би‰FBяFГt€VmЂГt	Бк€Юf‰VnГt	Бк€Юf‰VxйьчяяБкJu…Ыt€^k¶Fk)FJu…Ыt€^j¶FjFГБкJЂъ
wц…Ыя$•‘  Й  Щ  ~  й  с  ш    '  ~  1  3  ~  @  V  t€^|¶F|Ба)FГt€^}¶F}БаFГЂfzр^zГ‹Eш€X
Гu
‹Eь‹@ш‰FbГЉN^юЙy‰Щ€N^t	‹Fb‹Mь‰AГЂfzБг^zГБг‰^ЂГчЫt€^{ѕF{)F
Г‹Eи‹Uм‰F‹Eр‰FЖ ‰V
Г‹MьЇYр‰YьГ‹FфUЉ\0,‹Fшчf‹TЩЌЂ…Т‰е„ю   РVP‹FБаV‹vFFрP¶~‹Uьiя  ¶Fюzа™ЉD8@<s‹‡…ТuєX" 1ЫWR‰^‰^€ц‡  t	°‰щихяяц‡	  tMќЙ д]TдTдѓTд‡Tд‹TдЏTд“Tд—Tд›TдџTдЈTд§Tд«TдЇTдіTд·Tд»TдїTдГTдЗTдЛTдПTдУTдЧTдЫTдЯTдгTдзTдлTдпTдуTдчTдыTдяTжҐTж©Tж*Tж±TжµTж№TжЅTжБTжЕTжЙTжНTжСTжХTжЩTжЭTзРT	*юв	°‰щихяя8^:t·‡  )FFy‰^FЂ‹Eш¶@‰ББиЂб,t,Ht+,tHHtHt
Hu#иЁфяялчЩ)NЂл€NsиuфяялчЩN
Ђ‹Uш¶Z‰Щѓг¶BАй<wя…Ђ  и’  ѓоЂXѓEш9ЖЊяяя^ЙГ@  9    Ф  µ  я  ш  Г              p      P                &    Ћ    U
  иёуяялиРуяя1ЙЉNl‰ИѓаБйt‘чШ)F
ЂГЉFh‹NЌЃѓщ}jY‰Nѓf ЂГЉFhчШла8jvH‹Eь‹@мj™_чяJtJu3‰Щ‹Eьц@&tБб‰Nл ¶Ff‰ЗИ‹L$и‰тяя—‹L$итяя)З‰~ЂГЉNo…Йt+‹Eь‹@м™чщ…ТuЉNnѓбЂI‹F
xЂяЌк  ‰F
HHГѓиѓиѓиГСаj™YчщГЌ@СшГ@@ГѓАѓАѓАГСаГї  ѕ  З  Д  Б  Л  Ч  й  Ы  Ъ  г  а  Э  Ф  з  ЉNm‰Иѓа‹VБйu)Вy‰КлС™юК9С‰К‰VЂГ‹Mь‹QиЉA!ЁрuѓачШлБиВ‹Mь‰QиГЂщ	tuЂйt`юЙu[‹Mь1А9YмuO‹T$ЗFF   ¶RЌH	‰V
‹VBЌ~9СТѓв@‰VBу«ЉNzЂщO}€FtцБu€Fq‹FRЂ‰F‹Eш¶Pйуяя€Г‹Mь9Yмuѓf
 ЂГ…Ыt‹Eь‹@м™чы…ТuЂГ‰уVW‹t$1А¶–
  Ќ{6Jx%°ЂtJt
ІЂ+¶Т)РСшл7‹)Влс9Т!ВЌBАл&‹‰КѓбѓщAѓРя1Б%Ѓ   ББк¶Ѓx  Т1Р)Р¶–  ЇР¶†  …АtW—‹C2чкчя’—_БъS‹S2B9В~’¶†
  ‰S2цЬЂцЬЂЬ ‰‹sцtDѓ~, t'‰с+
4   БйяѓзЂЌ|>@Wj‰{YуҐ‰NФ‰Nа‰NЯќЕ д‚TдћTдўTд¦TдЄTд®TдІTд¶TдєTдѕTдВTдЖTдКTдОTдТTдЦTдЪTдЮTдвTджTдкTдоTдтTдцTдъTдюTеTеTе
TеTеTеХTжTжTжTжTжTжTж Tж$Tж(Tж,Tж0Tж4Tж8Tж<Tж@TзuTзЩTH*Ьд^Ќ~,‹D$«1А‹V««««‰F‰V1ЙюЙцtF‹C
C‰ВБа)Рч-    чТ!Р= р ~ё р чcBчcFБк‹F‰‰Ччкчщ‰F‰И+Fчпчщ‰FцtCїЂ   ‹C)ш™1Р)Р)З‹CNБяѓи чпC™чТ!Р‹>9И‰К—sчпчщ‰ъ’‰F‰VцРч.чщ‰Fцta‹K1ТKЌB(~EцJ   uёђwЪ чс1Тл1ё   +CCPЫ$Ш
А  ЩАЩьЬйЩЙЩрЩиЮБЩэЭЩШ
Д  Ы$X»Ђ»  чу‰Fчу‰F_^В iќ д1TдДTдзTдяTЌ‹  s

вот пример xm файла с мелодией переведенной в hex
Код:
const
xm : array[1..905] of Byte = (
	$45,$78,$74,$65,$6E,$64,$65,$64,$20,$4D,$6F,$64,$75,$6C,$65,$3A,
	$20,$73,$6F,$66,$74,$20,$6D,$61,$6E,$69,$61,$63,$2D,$6D,$69,$6E,
	$69,$6D,$61,$6C,$00,$1A,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,
	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$04,$01,$34,$00,$00,$00,
	$20,$00,$00,$00,$02,$00,$0D,$00,$01,$00,$01,$00,$0A,$00,$91,$00,
	$00,$01,$02,$03,$04,$05,$06,$07,$00,$01,$02,$03,$04,$05,$06,$07,
	$08,$09,$0A,$0B,$08,$09,$0C,$0B,$08,$09,$0A,$0B,$08,$09,$0C,$0B,
	$09,$00,$00,$00,$00,$04,$00,$01,$00,$83,$16,$01,$80,$80,$2E,$01,
	$00,$0E,$60,$80,$3A,$01,$00,$0E,$62,$81,$61,$83,$35,$01,$09,$00,
	$00,$00,$00,$04,$00,$01,$00,$83,$16,$01,$80,$80,$2E,$01,$00,$0E,
	$60,$80,$35,$01,$00,$0E,$62,$81,$61,$83,$38,$01,$09,$00,$00,$00,
	$00,$04,$00,$01,$00,$83,$16,$01,$80,$80,$2E,$01,$00,$0E,$60,$80,
	$38,$01,$00,$0E,$62,$80,$83,$33,$01,$09,$00,$00,$00,$00,$06,$00,
	$01,$00,$83,$16,$01,$80,$80,$2E,$01,$00,$0E,$60,$80,$33,$01,$00,
	$0E,$61,$81,$61,$83,$35,$01,$83,$0D,$01,$83,$36,$01,$80,$83,$36,
	$01,$09,$00,$00,$00,$00,$04,$00,$01,$00,$83,$0F,$01,$80,$80,$2E,
	$01,$00,$0E,$60,$80,$36,$01,$00,$0E,$62,$81,$61,$83,$33,$01,$09,
	$00,$00,$00,$00,$06,$00,$01,$00,$83,$0F,$01,$80,$80,$2E,$01,$00,
	$0E,$60,$80,$33,$01,$00,$0E,$61,$81,$61,$83,$2E,$01,$83,$12,$01,
	$83,$33,$01,$80,$83,$35,$01,$09,$00,$00,$00,$00,$06,$00,$01,$00,
	$83,$16,$01,$80,$80,$2E,$01,$00,$0E,$60,$80,$35,$01,$00,$0E,$61,
	$81,$61,$83,$2E,$01,$83,$0D,$01,$83,$31,$01,$80,$83,$2E,$01,$09,
	$00,$00,$00,$00,$08,$00,$01,$00,$83,$12,$01,$98,$0A,$01,$83,$19,
	$01,$88,$0A,$83,$1E,$01,$81,$61,$83,$12,$01,$80,$83,$14,$01,$80,
	$83,$1B,$01,$80,$83,$20,$01,$80,$83,$14,$01,$80,$09,$00,$00,$00,
	$00,$08,$00,$01,$00,$83,$12,$01,$81,$61,$83,$19,$01,$80,$83,$1E,
	$01,$80,$83,$12,$01,$80,$83,$19,$01,$83,$31,$01,$83,$1E,$01,$80,
	$83,$12,$01,$83,$31,$01,$83,$19,$01,$80,$09,$00,$00,$00,$00,$08,
	$00,$01,$00,$83,$14,$01,$83,$33,$01,$83,$1B,$01,$80,$83,$20,$01,
	$83,$31,$01,$83,$14,$01,$80,$83,$1B,$01,$83,$30,$01,$83,$20,$01,
	$80,$83,$14,$01,$83,$31,$01,$83,$1B,$01,$80,$09,$00,$00,$00,$00,
	$08,$00,$01,$00,$83,$16,$01,$83,$30,$01,$83,$1D,$01,$83,$31,$01,
	$83,$22,$01,$83,$35,$01,$83,$16,$01,$98,$0A,$01,$83,$1D,$01,$88,
	$0A,$83,$22,$01,$81,$61,$83,$16,$01,$80,$83,$1D,$01,$80,$09,$00,
	$00,$00,$00,$08,$00,$01,$00,$83,$16,$01,$80,$83,$1D,$01,$80,$83,
	$22,$01,$80,$83,$16,$01,$80,$83,$18,$01,$80,$83,$1D,$01,$80,$83,
	$11,$01,$80,$83,$18,$01,$80,$09,$00,$00,$00,$00,$08,$00,$01,$00,
	$83,$16,$01,$83,$30,$01,$83,$1D,$01,$83,$31,$01,$83,$19,$01,$83,
	$2E,$01,$83,$16,$01,$98,$0A,$01,$83,$1D,$01,$88,$0A,$83,$19,$01,
	$81,$61,$83,$16,$01,$80,$83,$1D,$01,$80,$F1,$00,$00,$00,$00,$00,
	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,
	$00,$00,$00,$00,$27,$01,$00,$12,$00,$00,$00,$00,$00,$00,$00,$00,
	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,
	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,
	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,
	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,
	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,
	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$40,$00,$08,
	$00,$2C,$00,$0E,$00,$08,$00,$18,$00,$16,$00,$20,$00,$08,$00,$2D,
	$00,$0D,$00,$32,$00,$04,$00,$3C,$00,$07,$00,$44,$00,$04,$00,$5A,
	$00,$00,$00,$64,$00,$00,$00,$6E,$00,$00,$00,$00,$00,$20,$00,$0A,
	$00,$28,$00,$1E,$00,$18,$00,$32,$00,$20,$00,$3C,$00,$20,$00,$46,
	$00,$20,$00,$50,$00,$20,$00,$5A,$00,$20,$00,$64,$00,$20,$00,$6E,
	$00,$20,$00,$78,$00,$20,$00,$82,$00,$20,$00,$09,$06,$01,$02,$04,
	$02,$03,$05,$01,$00,$00,$00,$00,$00,$80,$00,$0C,$00,$00,$00,$00,
	$00,$00,$00,$0C,$00,$00,$00,$40,$00,$01,$80,$F9,$00,$BF,$00,$C3,
	$00,$0A,$00,$57,$00,$6E,$00,$23,$00
);  

теперь вот таким вот не хитрым путем мы вгоняем её на форму...
Код:
procedure TForm2.FormCreate(Sender: TObject);
begin
if uFMOD_PlaySong(@xm,Length(xm),XM_MEMORY) <> nil then
	begin
  { Wait for user input. }
  form2.show;
	end;
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
uFMOD_StopSong;
end;

p.s. принято считать что мелодия должна проигрываться при выводе формы about, но решать вам :)

by demien. © 2009.
www.execryptor.ru
 
Ерунда, зачем трехметровые листинги выкладывать?

1) Берем фмод оптимизер, берем мелодию оптимизируем.
2) Далее фмод конвертер, ставим галку на "Сделать дамп (Pascal)"
3) Копируем в константы дамп, в наш проект.
4) Копируем пару либ фмода в папку с проектом
5) Добавляем на обработчик вызов проигрывания мелодии.
 
Sunzer,
Выложил их для того, чтобы интересующимся людям было понятнее...
У вас же в посте списком написаны действия, причем я более чем уверен, что не все поймут, что такое фмод оптимизер и фмод конвертер...

Логично предположить, что под словосочитанием фмод оптимизер, вы имели ввиду Fmod Optimizer
Для примера вбил в гугле Fmod Optimizer, вот результат поиска (google.ru/search?hl=ru&q=FMod+Optimizer&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=&aq=f&oq=)

p.s. Мне кажется что мой листинг хоть и трехметровый, (хотя можно убрать почти весь код с топика, эти же файлы также есть в архиве) но отображает понятнее тему вопроса.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх