Page 2 of 2 FirstFirst 1 2
Results 16 to 18 of 18

Thread: MIDI tijdcode als 'Quarter frame' verzenden.

  1. #16
    Quote Originally Posted by Ruud123 View Post
    Inderdaad, die
    Code:
    MyMidiHdr := TMyMidiHdr.Create(128);
    zou net zo goed kunnen zijn:
    Code:
    MyMidiHdr := TMyMidiHdr.Create(SizeOf(B));
    maar dat verandert de werking niet echt.
    wat ik bedoelde is dat de create de buffer en de ruimte voor de buffer reeds aangemaakt heeft. Daarom denk ik dat daarna de byte die verzonden moet worden naar de buffer gekopieerd moet worden en niet opeens de buffer (pointer) naar een andere buffer laten wijzen.

    zie voorbeeld hier : https://www.delphipraxis.net/161103-...er-aufruf.html
    Last edited by Miep; 03-May-20 at 19:54. Reason: link met voorbeeld

  2. #17
    Senior Member Ruud123's Avatar
    Join Date
    Sep 2007
    Location
    Leerdam
    Posts
    536
    Ik kan mij niet aan de indruk onttrekken dat ik nu iets heb dat werkt:
    Code:
    procedure TMidiOutput.SendMTC(B: Byte);
    var Arr: Array[0..1] of Byte;
    begin
      Arr[0] := 241;
      Arr[1] := B;
      MidiHdr.lpData := @Arr;
      MidiHdr.dwBufferLength := SizeOf(Arr);
      MidiHdr.dwFlags := 0;
      If MidiOutPrepareHeader(FMidiHandle, @MidiHdr, SizeOf(MidiHdr)) = MMSYSERR_NOERROR then
      begin
        If MidiOutLongMsg(FMidiHandle, @MidiHdr, Sizeof(MidiHdr)) <> MMSYSERR_NOERROR then
           // MessageBox(Handle, 'Fout in MidiOutPrepareHeader', 'Fout', MB_OK);
      end;
    end;
    Nog geen foutafhandeling en de MIDI poort wordt elders vooraf geopend en na afloop gesloten.
    Zó eenvoudig kan het dus kennelijk zijn...

    Iedereen bedankt voor het meedenken!
    Voor elk probleem is een oplossing!

  3. #18
    have fun

Page 2 of 2 FirstFirst 1 2

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •