Freq.dll

    • Dll

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • So, meine erste Dll hier:

      Die FreqDll gibt einen sound deiner wahl wieder. Man gibt Höhe und länge des soundes an, und er wird wiedergeben. Wer sich mit cpp auskennt wird wissen, dass die Dll ganz einfach und simpel ist, doch die macht das was ich gerade brauche ;)

      Die 3 funktionen:

      freq_init() // initalisiert
      freq_free() // befreit

      freq_play(höhe,länge);

      höhe: Ist die höhe des soundes. Für die orientirung die tonleiter:
      Spoiler anzeigen
      C = 261;
      Cis = 277;
      D = 293;
      Dis = 311;
      E = 329;
      F = 349;
      Fis = 369;
      G = 391;
      Gis = 415;
      A = 440;
      Ais = 466;
      H = 493;

      länge: die länge in millisekunden.

      ACHTUNG: wenn man eine lange länge nutzt, passt sich die framerate vom game an. Also wenn ihr eine länge von 100 millisekunden nutzt, geht die framerate vom game logischerweise auf 10 fps runter! Ich werde mich mal in näherer Zukunft mit dem Threading aus ein ander setzten, welches das "problem" löst!

      Ich hoffe ihr könnt sie gebrauchen

      Download


      MfG SDX

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von SDX ()

    • Um das Problem mit den FPS zu lösen, solltest du vielleicht tatsächlich - wie bereits in deinem anderen Thread angesprochen - auf GMA zurückgreifen. Ich verstehe nicht ganz, warum du dafür extra eine DLL schreibst, wenn die Pitch-Funktion in wirklich jeder der bekannten DLLs enthalten ist. Es ist übrigens nicht nötig, den Sound zu stretchen. Für die Fälle, wo man Pitching benötigt, sind Loops meist optimal.
      Ich hab's jetzt zwar nicht getestet, aber trotzdem find ich es gut, dass du dich damit befasst. Ich hab nur das Gefühl, dass du dich mit deinem ursprünglichen Vorhaben nicht richtig auseinandergesetzt hast, da du es dir ziemlich kompliziert machst.
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • Mauge: hm, blöd. Hast recht, jetzt habe ich mir das leben unötig schwer gemacht :D Nunja, wenigstens habe ich ein kleines, kleines bisschen gelernt. Und wenn ich das mit den Treads in den griff bekomme, kann ich wenigstens sagen, dass ich meine eigene Dll nutzte

      Krötegames: Teoretisch kannst du alle sounds abspielen. Versuche es doch mal mit Tetris:
      Spoiler anzeigen

      GML-Quellcode

      1. C = 261;
      2. Cis = 277;
      3. D = 293;
      4. Dis = 311;
      5. E = 329;
      6. F = 349;
      7. Fis = 369;
      8. G = 391;
      9. Gis = 415;
      10. A = 440;
      11. Ais = 466;
      12. H = 493;
      13. Takt = 1700;
      14. freq_play(E * 2, Takt / 4);
      15. freq_play(H * 1, Takt / 8);
      16. freq_play(C * 2, Takt / 8);
      17. freq_play(D * 2, Takt / 4);
      18. freq_play(C * 2, Takt / 8);
      19. freq_play(H * 1, Takt / 8);
      20. freq_play(A * 1, Takt / 4);
      21. freq_play(A * 1, Takt / 8);
      22. freq_play(C * 2, Takt / 8);
      23. freq_play(E * 2, Takt / 8);
      24. freq_play(E * 2, Takt / 8);
      25. freq_play(D * 2, Takt / 8);
      26. freq_play(C * 2, Takt / 8);
      27. freq_play(H * 1, Takt / 2.5);
      28. freq_play(C * 2, Takt / 8);
      29. freq_play(D * 2, Takt / 4);
      30. freq_play(E * 2, Takt / 4);
      31. freq_play(C * 2, Takt / 4);
      32. freq_play(A * 1, Takt / 4);
      33. freq_play(A * 1, Takt / 4);
      34. sleep(Takt / (8 / 3));
      35. freq_play(D * 2, Takt / 3.25);
      36. freq_play(F * 2, Takt / 8);
      37. freq_play(A * 2, Takt / 8);
      38. freq_play(A * 2, Takt / 8);
      39. freq_play(G * 2, Takt / 8);
      40. freq_play(F * 2, Takt / 8);
      41. freq_play(E * 2, Takt / 3);
      42. freq_play(C * 2, Takt / 8);
      43. freq_play(E * 2, Takt / 8);
      44. freq_play(E * 2, Takt / 8);
      45. freq_play(D * 2, Takt / 8);
      46. freq_play(C * 2, Takt / 8);
      47. freq_play(H * 1, Takt / 4);
      48. freq_play(H * 1, Takt / 8);
      49. freq_play(C * 2, Takt / 8);
      50. freq_play(D * 2, Takt / 4);
      51. freq_play(E * 2, Takt / 4);
      52. freq_play(C * 2, Takt / 4);
      53. freq_play(A * 1, Takt / 4);
      54. freq_play(A * 1, Takt / 4);
      Alles anzeigen


      MfG SDX

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von SDX ()