![]() |
Re: The Old-Style-Music-PLAY-Function
Toll währe das ganz noch, wenn auch "Dateien" mit eingebunden wird, z.b. ich gebe meine Anweisungen ein und bestimmte Dateien werden dann abgespielt *G*.....
Das mit MIDI Währe natürlich auch noch toll, gerade unter FPC/Lazarus.... für einfache Spiele dürfte das schon Ausreichen... |
Re: The Old-Style-Music-PLAY-Function
Dateien könntest du ja notfalls mit TStringList einlesen und dann als SL.Text übergeben,
aber ich denke da dürfte dann noch Platz für eine Funktion sein, welche Dateien einlesen kann. PS: gibt es eigentlich irgendwo eine Liste mit den ganzen/wichtigsten MIDI-Befehlen? Im MSDN ist ja hierzu nicht wirklich was zu finden. Ansonsten versuch ich grad das Wichtigste erstmal aus Turbos schönen Programm rauszubekommen. |
Re: The Old-Style-Music-PLAY-Function
Delphi-Quellcode:
PLAY('T140L8o4CDEGo5CDEGo6CDEGo7CDEGo8Co7GEDCo6GEDCo5GEDCo4GED<A>CE');
PLAY('T140L8o4Ao5Co5Eo5Ao6Co6Eo6Ao7Co7Eo7Ao7Eo7Co6Ao6Eo6Co5Ao5Eo5Co4Ao4Eo4Co4Co4Do4Eo4Go5Co5Do5Eo5Go6Co6Do6Eo6Go7Co7D'); PLAY('T140L8o7Eo7Go8Co7Go7Eo7Do7Co6Go6Eo6Do6Co5Go5Eo5Do5Co4Go4Eo4Do3Ao4Co4Eo4Ao5Co5Eo5Ao6Co6Eo6Ao7Co7Eo7Ao7Eo7Co6Ao6E'); PLAY('T140L8o6Co5Ao5Eo5Co4Ao4Eo4Co3Fo3Go3Ao4Co4Fo4Go4Ao5Co5Fo5Go5Ao6Co6Fo6Go6Ao7Co7Fo7Co6Ao6Go6Fo6Co5Ao5Go5Fo5Co4Ao4G'); //PLAY('T140L8o4Fo4Co3Ao3G#G#Ao4C#D#G#Ao5C#D#G#Ao6C#D#G#Ao7C#D#G#Do7C#A#G#Do6C#A#G#Do5C#A#G#Do4C#A'); // Fehler ? todo PLAY('T140L8o3Go3Ao4Do4Go4Ao5Do5Go5Ao6Do6Go6Ao7Do7Go7Do6Ao6Go6Do5Ao5Go5Do4Ao4Go4Do3A'); Zitat:
![]() |
Re: The Old-Style-Music-PLAY-Function
Bin nun auch auf Wiki fündig geworden ... irgendwie hatte ich das beim ersten Mal nicht gefunden :shock:
![]() War nun grad am Ausprobieren, welche Controler bei meiner Soundkarte funktionieren und irgendwie will nimma Main volume (Bn 07) und Balanca (Bn 08 ) gehn :( Und danke für den Link von midi.org. hatte zwar mehrmals hinweise auf diese Seite im Netz vorgefunden, aber dort einfach nichts gefunden :oops: |
Re: The Old-Style-Music-PLAY-Function
Ich versteh nicht ganz was man mit diesen MIDI's machen kann, ich will das ja dann wieder nach Linux portieren :D
Kann mir das jemand erklären? |
Re: The Old-Style-Music-PLAY-Function
Wer keinen Speaker mehr im PC hat, kann sich die Unit uBassBeep.pas
![]()
Delphi-Quellcode:
und schon geht die Post ab. :dancer: :wink:
Bass_Init(-1, 44100, 0, 0, nil);
|
Re: The Old-Style-Music-PLAY-Function
Stimmt. Keine schlechte Idee, dass gleiche könnte für FMOD gemacht werden, dann währe es Plattform unabhängig.
Oder mit meiner "Xine Unit", dann währe es allerdings nur unter Linux benutzbar... Zitat:
|
Re: The Old-Style-Music-PLAY-Function
@Kekschen:
Im Grunde ist MIDI eine Multimedia-Schnittstelle/Protokoll. Hier würde jetzt die Soundkarte angesteuert ... ich denk mal, dieses sollte auch unter Linux gehn. Man könnte auch externe Sachen, wie Soundgeneratoren, ein Keyboard (das für Musik) oder gar 'nen ganzer Mischpult anschließen und entweder damit den PC steuern oder die Geräte. Kennst vielleicht aus Fernsehsendungen, wenn sich auf so rießigen Mischpulten urplörtlich die Regler von alleine verstellen. :stupid: (sowas könnte man damit z.B. machen) Aber hier würde einfach nur der Soundkarte gesagt "eh du, stell jetzt mal das und das Instrument ein und gib damit diese undjene Note aus. Das mit dem BassBeep ... joar, dürfte sich machen lassen, bräuchte da ja nur 'ne Weiche einbauen, welches dann zwischen Beep und BassBeep wechselt. Also im Prinzip wäre das die einfachste Variante, welche ich dann, wenn ich wieder daheim bin der Original-Prozedur beibringen könnte. > ich laßß einmal das mit "Beep" als einzelprozedur und versuch grad nochmal zusätzlich alles zusammen (Beep und MIDI) in einer Klasse zu kapseln, weil man beim Midi soviel einstellen kann, daß ich garnicht alles nur in Stringbefehlen umsetzen möchte. |
Re: The Old-Style-Music-PLAY-Function
Im Post #1 gibt es erstmal 'ne kleine Testversion (Play.7z) mit den neuen Codes.
Von der Klasse mit BASS-Beep und MIDI-Sound ist erstmal nur ein Grudgerüst, mit einigen Basisfunktionen vorhanten Aber immerhin wurde die Play-Prozedur schonmal verändert. * aus der Prozedur wurde eine Funktion, welche entweder 0 oder die Fehlerstelle mitteilt, anstatt eine Exception ala "Irgendwo ist was falsch." auszulösen. * der Befehl X ist dazugekommen > direkte Angabe einer Frequenz 32 Hz bis 32 kHz * und es gibt einen Schleifenbefehl |:abcde:|, sammt Auslassungszeichen (siehe Hilfetext in der Datei > Abschnitt Wiederholungen) * auch die Soundausgabe der Funktion wird jetzt gesamelt > also bald wird eine asynchrone Soundausgabe möglich sein (und der Code wird später auch mal so in etwa auch mal in der Klasse verwendet) In der MIDI-Klasse werden dann noch ein/zwei Befehle dazukommen, da dort dann Mehrkanalsound und natürlich auch das Umschalten der Instumente möglich wäre. Ansonsten würde mich mal interessieren, ob das mit dem Noten/Befehlen halbwegs gut nutzbar ist, oder ob man noch was grundlegend ändern muß. PS: wie mir grad auffällt, steht in der Hilfe schon drinnen, daß a - h einem A# - H# entsprichet, was noch nicht stimmt, da noch standardmäßig CaseInsensitiv gearbeitet wird. |
Re: The Old-Style-Music-PLAY-Function
Arrg. Ich kann 7z nicht unter Linux enpacken (der entpacker läuft ja nur unter Windows)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz