Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   The Old-Style-Music-PLAY-Function (https://www.delphipraxis.net/143176-old-style-music-play-function.html)

Medium 19. Nov 2009 08:20

Re: The Old-Style-Music-PLAY-Function
 
Haufenweise Versionen für diverse Linuxe

himitsu 19. Nov 2009 09:27

Re: The Old-Style-Music-PLAY-Function
 
Gibt es eigentlich einen Kompilerschalter zur FreePascal-Delphi-Unterscheidung?

Und ich hab den Anhang mal durch 'ne Zip ersetzt.

Teekeks 19. Nov 2009 17:58

Re: The Old-Style-Music-PLAY-Function
 
@himitsu: du könntest auf jedenfall darauf prüfen, ob das linux ist, wenn ja: dann kans kein Delphi sein ;)
Delphi-Quellcode:
{ifdef UNIX}

himitsu 19. Nov 2009 18:47

Re: The Old-Style-Music-PLAY-Function
 
OK, dann nehm ich mal das UNIX und baue deine Änderungen aus Post #2 ein.

Die vergessene Sache mit der Groß-/Kleinschreibung (#19 ganz unten) ist nun auch drinnen.

Ja und das Ganze betrifft jetzt erstmal nur die eine/beiden "Standard"-Funktion(en).
Delphi-Quellcode:
Function Play      (Command: String): Integer;
Procedure CheckedPlay(Command: String);
> Anhang (Play.zip) im ersten Post ist geändert.

Teekeks 19. Nov 2009 19:40

Re: The Old-Style-Music-PLAY-Function
 
die Unit MMSystem existiert unter Lazarus nicht → Ich muss mir was einfallen lassen...
Hat jemand eine Idee wie ich sonst MIDI benutzen kann?

himitsu 19. Nov 2009 19:52

Re: The Old-Style-Music-PLAY-Function
 
von der MMSystem wird aktuell all Dieses verwendet
Delphi-Quellcode:
Type HMIDIOUT = Integer;
  PHMIDIOUT  = ^HMIDIOUT;
  MMRESULT   = UINT;

Const MIDI_MAPPER    = UINT(-1);
  MM_MOM_OPEN        = $3C7;
  MM_MOM_CLOSE       = $3C8;
  MM_MOM_DONE        = $3C9;
  MM_MOM_POSITIONCB  = $3CA;
  CALLBACK_FUNCTION  = $00030000;
  MMSYSERR_NOERROR   = 0;
  MMSYSERR_BADERRNUM = 9;
  MMSYSERR_INVALPARAM = 11;
  MAXERRORLENGTH     = 128;

Function midiOutOpen(lphMidiOut: PHMIDIOUT; uDeviceID: UINT;
  dwCallback, dwInstance, dwFlags: DWORD): MMRESULT; StdCall;
  External 'winmm.dll' Name 'midiOutOpen';
Function midiOutClose(hMidiOut: HMIDIOUT): MMRESULT; StdCall;
  External 'winmm.dll' Name 'midiOutClose';
Function midiOutShortMsg(hMidiOut: HMIDIOUT; dwMsg: DWORD): MMRESULT; StdCall;
  External 'winmm.dll' Name 'midiOutShortMsg';
Function midiOutGetVolume(hmo: HMIDIOUT; lpdwVolume: PDWORD): MMRESULT; StdCall;
  External 'winmm.dll' Name 'midiOutGetVolume';
Function midiOutGetErrorText(mmrError: MMRESULT; pszText: {PChar}PAnsiChar;
  uSize: UINT): MMRESULT; StdCall;
  External 'winmm.dll' Name 'midiOutGetErrorTextA';
Zum Testen der "alten" Funktionen kannst du ja auch erstmal die Klasse auskommentieren.

Die Funktionalität des MIDI wird ja durch die Soundkarte bereitgestellt, also dürfte es für Linux auch irgendeinen Weg ('ne API) zur Soundkarte geben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz