PolyMusic.inc - Mehrstimmige Musik im Quellcode

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

  • Eine 2 Jahre alte Spielerei zu einem (vielleicht zurecht) seltenen Programmierthema... ;-)


    Genauer gesagt:
    Ein Nachbau des in XProfan eingebauten Befehls "Music" - der mit der Makrosprache aus dem alten MS-DOS-QBasic.
    Das besondere daran ist, dass die Musik mehrstimmig sein darf und das Hauptprogramm während der Musikwiedergabe noch etwas anderes machen kann.
    Konzipiert wurde das ganze als Include für XProfan 9 (und neuer).


    Eine Demo dazu:



    Die wichtigen Befehle und Funktionen sind:

    • polymusic_start S[,S[,S]...]
      Initialisiert ein mehrstimmiges Musikstück. Für jede Stimme in diesem Stück übergibt man einen String. Das Format eines solchen Strings ist kompatibel mit dem XProfan-Befehl Music. Siehe XProfan-Hilfe.
    • polymusic_run
      Muss oft und regelmäßig - z.B. alle 20 Millisekunden - aufgerufen werden, damit die Musik kommt.
    • polymusic_stop
      Stoppt alle laufenden Noten und gibt sämtliche Ressourcen frei.
    • polymusic_playing()
      Gibt 1 zurück, solange das Stück läuft, ansonsten 0.


    Ach ja, und natürlich die PolyMusic.inc selbst:


  • Tolle Arbeit! Klingt gut! (Geht auch mit FreeProfan32+64)
    Da juckt es mich doch fast in den Fingern, Abspielen im Hintergrund (eigener Thread) und Polyphonie in den XProfan-Music-Befehl einzubauen ...


    Gruß
    Roland

    (Intel Duo E8400 3,0 GHz / 4 GB RAM / 250 GB HDD / ATI Radeon HD4770 512 MB / Windows Vista - ausgemustert zum Verkauf)
    AMD Athlon II X2 2,9 GHz / 8 GB RAM / 500 + 1000 GB HDD / ATI Radeon 3000 (onboard) / Windows 10(64) - XProfan X4


    http://www.xprofan.de

  • Und so geht geht obiges Beispiel jetzt mit FreeProfan (aktuelle Betaversion):


    Danke an Professor Chaos für die Anregung.


    Es ist alles aber noch recht experimentell. Die Fehlerabfrage ist noch nicht wasserdicht. In XProfan X2.1 werden die MUSIC-Erweiterungen nicht mehr eingebaut. Da wird noch die Hilfe geschrieben und dann wird es ausgeliefert.
    (In einer späteren Version wird es dann natürlich auch eingebaut.)


    Gruß
    Roland

    (Intel Duo E8400 3,0 GHz / 4 GB RAM / 250 GB HDD / ATI Radeon HD4770 512 MB / Windows Vista - ausgemustert zum Verkauf)
    AMD Athlon II X2 2,9 GHz / 8 GB RAM / 500 + 1000 GB HDD / ATI Radeon 3000 (onboard) / Windows 10(64) - XProfan X4


    http://www.xprofan.de

  • Nicht in 11.2a versuchen, Lied wird von Gewittergeräuschen unterbrochen ;-)
    Die QBasic-PLAY-Strings (Addy weiter oben angegeben) kommen dagegen gut:

    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse