Page 1 sur 1

Import de fichier .lib

Publié : ven. 14/sept./2007 15:03
par zorg
Bonjour .
Voici mon problème: Depuis quelques temps j'essai d'utiliser la librairie opensource StSound GPL de Leonard pour lire les fichiers de musique Atari au format YM mais je ne m'en sors pas. Voici le code source en C:

Code : Tout sélectionner

// Create object
extern	YMMUSIC *	ymMusicCreate();

// Release object
extern	void		ymMusicDestroy(YMMUSIC *pMusic);

// Functions
extern	ymbool			ymMusicLoad(YMMUSIC *pMusic,const char fName);						// Method 1 : Load file using stdio library (fopen/fread, etc..)
extern	ymbool			ymMusicLoadMemory(YMMUSIC *pMusic,void *pBlock,ymu32 size);			// Method 2 : Load file from a memory block

extern	ymbool			ymMusicCompute(YMMUSIC *pMusic,ymsample *pBuffer,ymint nbSample);	// Render nbSample samples of current YM tune into pBuffer PCM 16bits mono sample buffer.

extern	void			ymMusicSetLoopMode(YMMUSIC *pMusic,ymbool bLoop);
extern	const char	*	ymMusicGetLastError(YMMUSIC *pMusic);
extern	int				ymMusicGetRegister(YMMUSIC *pMusic,ymint reg);
extern	void			ymMusicGetInfo(YMMUSIC *pMusic,ymMusicInfo_t *pInfo);
extern	void			ymMusicPlay(YMMUSIC *pMusic);
extern	void			ymMusicPause(YMMUSIC *pMusic);
extern	void			ymMusicStop(YMMUSIC *pMusic);

extern	ymbool			ymMusicIsSeekable(YMMUSIC *pMusic);
extern	ymu32			ymMusicGetPos(YMMUSIC *pMusic);
extern	void			ymMusicSeek(YMMUSIC *pMusic,ymu32 timeInMs);
Et voici ce que j'ai tapé après pas mal de recherches sur les forums anglais et français:

Code : Tout sélectionner

Global YMMUSIC.l

ImportC "StSoundLibrary.lib"
	ymMusicCreate.l() As "ymMusicCreate"
  ;ymMusicLoad(*pMusic, *pFileName) As "_ymMusicLoad@8"  ; Method 1 : Load file using stdio library (fopen/fread, etc..)
EndImport


YMMUSIC=ymMusicCreate()
;ymMusicLoad(0,0);
MessageRequester("Titre fenetre",Str(YMMUSIC),#PB_MessageRequester_Ok)
J'ai essayé différentes choses:
- Remplacer ImportC par import
- Mettre un "_" devant le nom entre guillemets dans la section d'import, comme la ligne de la fonction ymMusicLoad
- Pleins d'autre variantes dont je ne me souviens plus..

.. je ne m'en sors pas.

Le message que j'ai actuellement avec le code ci-dessus est :
POLINK: error: Unresolved external symbol 'ymMusicCreate'.
Sinon j'ai bien copié ma libraire dans le répertoire C:\Program Files\PureBasic\PureLibraries\Windows\Libraries.

Donc merci d'avance de bien vouloir m'empecher de me noyer..

Zorg

Publié : ven. 14/sept./2007 15:11
par Progi1984
Peux-tu mettre un petit zip avec tous les fichiers nécessaires ?

Stp :-)

Publié : ven. 14/sept./2007 15:22
par zorg
Bien sûr, le voici:

Essai StSound.zip

Il contient l'archive zip d'origine de StSound GPL 1.2, La librairie compilée et le petit code PB.

Publié : ven. 14/sept./2007 15:49
par Progi1984
Costaud.... c'est du C++....

Utilise Lib2PBImport : http://www.purebasic.fr/english/viewtop ... b2pbimport


3 links à trouver :

Code : Tout sélectionner

POLINK : error : Unresolved external symbol '__except_list'
POLINK : error : Unresolved external symbol '___CxxFrameHandler'
POLINK : error : Unresolved external symbol '__fltused'
POLINK : fatal error : 3 unresolved external(s)

Publié : ven. 14/sept./2007 15:53
par Progi1984
Et voilà :)

Code : Tout sélectionner

Structure ymMusicInfo_t
  pSongName.l
  pSongAuthor.l
  pSongComment.l
  pSongType.l
  pSongPlayer.l
  musicTimeInSec.l
EndStructure

Global YMMUSIC.l



; Import-File created by Lib2PBImport
; Libname: StSoundLibrary.lib
; created: 2007/09/14  16:37
Import "msvcrt.lib"
EndImport

Import "StSoundLibrary.lib"
  ymMusicComputeYAHPAXPA() As "?ymMusicCompute@@YAHPAXPAFH@Z"
  ymMusicCreate() As "?ymMusicCreate@@YAPAXXZ"
  ymMusicDestroy(*pMusic) As "?ymMusicDestroy@@YAXPAX@Z"
  ymMusicGetInfoYAXPAXPAUymMusicInfo() As "?ymMusicGetInfo@@YAXPAXPAUymMusicInfo_t@@@Z"
  ymMusicGetLastErrorYAPBDP() As "?ymMusicGetLastError@@YAPBDPAX@Z"
  ymMusicGetPosYAKP() As "?ymMusicGetPos@@YAKPAX@Z"
  ymMusicGetRegisterYAHPA() As "?ymMusicGetRegister@@YAHPAXH@Z"
  ymMusicIsSeekableYAHP() As "?ymMusicIsSeekable@@YAHPAX@Z"
  ymMusicLoadYAHPAXP() As "?ymMusicLoad@@YAHPAXPBD@Z"
  ymMusicLoadMemoryYAHPAX() As "?ymMusicLoadMemory@@YAHPAX0K@Z"
  ymMusicPauseYAXP() As "?ymMusicPause@@YAXPAX@Z"
  ymMusicPlayYAXP() As "?ymMusicPlay@@YAXPAX@Z"
  ymMusicSeekYAXPA() As "?ymMusicSeek@@YAXPAXK@Z"
  ymMusicSetLoopModeYAXPA() As "?ymMusicSetLoopMode@@YAXPAXH@Z"
  ymMusicStopYAXP() As "?ymMusicStop@@YAXPAX@Z"
  CYmMusicQA() As "??0CYmMusic@@QAE@H@Z"
  ;CYmMusicQA() As "??1CYmMusic@@QAE@XZ"
  bufferClearYAXPA() As "?bufferClear@@YAXPAFH@Z"
  getAttribCYmMusicQA() As "?getAttrib@CYmMusic@@QAEHXZ"
  getLastErrorCYmMusicQAEP() As "?getLastError@CYmMusic@@QAEPADXZ"
  getMusicInfoCYmMusicQAEXPAUymMusicInf() As "?getMusicInfo@CYmMusic@@QAEXPAUymMusicInfo_t@@@Z"
  getMusicTimeCYmMusicQA() As "?getMusicTime@CYmMusic@@QAEKXZ"
  getPosCYmMusicQA() As "?getPos@CYmMusic@@QAEKXZ"
  isSeekableCYmMusicQA() As "?isSeekable@CYmMusic@@QAEHXZ"
  playerCYmMusicAA() As "?player@CYmMusic@@AAEXXZ"
  readNextBlockInfoCYmMusicAA() As "?readNextBlockInfo@CYmMusic@@AAEXXZ"
  readYm6EffectCYmMusicAAEXPAE() As "?readYm6Effect@CYmMusic@@AAEXPAEHHH@Z"
  setAttribCYmMusicAA() As "?setAttrib@CYmMusic@@AAEXH@Z"
  setLastErrorCYmMusicAAEX() As "?setLastError@CYmMusic@@AAEXPAD@Z"
  setLoopModeCYmMusicQA() As "?setLoopMode@CYmMusic@@QAEXH@Z"
  setMusicTimeCYmMusicQA() As "?setMusicTime@CYmMusic@@QAEKK@Z"
  setPlayerRateCYmMusicAA() As "?setPlayerRate@CYmMusic@@AAEXH@Z"
  setTimeControlCYmMusicAA() As "?setTimeControl@CYmMusic@@AAEXH@Z"
  setVolumeCYmMusicQA() As "?setVolume@CYmMusic@@QAEXH@Z"
  stDigitMixCYmMusicAAEXP() As "?stDigitMix@CYmMusic@@AAEXPAFH@Z"
  updateCYmMusicQAEHP() As "?update@CYmMusic@@QAEHPAFH@Z"
  ymTrackerDesInterleaveCYmMusicAA() As "?ymTrackerDesInterleave@CYmMusic@@AAEXXZ"
  ymTrackerInitCYmMusicAA() As "?ymTrackerInit@CYmMusic@@AAEXH@Z"
  ymTrackerPlayerCYmMusicAAEXPAUymTrackerVoic() As "?ymTrackerPlayer@CYmMusic@@AAEXPAUymTrackerVoice_t@@@Z"
  ymTrackerUpdateCYmMusicAAEXP() As "?ymTrackerUpdate@CYmMusic@@AAEXPAFH@Z"
  ymTrackerVoiceAddCYmMusicAAEXPAUymTrackerVoice_t() As "?ymTrackerVoiceAdd@CYmMusic@@AAEXPAUymTrackerVoice_t@@PAFH@Z"
  C_00A() As "??_C@_00A@?$AA@"
  C_02JKAFrb() As "??_C@_02JKAF@rb?$AA@"
  C_04CPDMYM55() As "??_C@_04CPDM@YM?55?$AA@"
  C_04HKNJYM52() As "??_C@_04HKNJ@YM?52?$AA@"
  C_04KNFJMIX1() As "??_C@_04KNFJ@MIX1?$AA@"
  C_04NAEOYM53() As "??_C@_04NAEO@YM?53?$AA@"
  C_04NAIFYM56() As "??_C@_04NAIF@YM?56?$AA@"
  C_05GHIMYM9T1() As "??_C@_05GHIM@YM?9T1?$AA@"
  C_05JIDFYM9T2() As "??_C@_05JIDF@YM?9T2?$AA@"
  C_05MGIN9lh59() As "??_C@_05MGIN@?9lh5?9?$AA@"
  C_07PCHHUnknown() As "??_C@_07PCHH@Unknown?$AA@"
  C_08FDIALeOnArDCB() As "??_C@_08FDIA@LeOnArD?$CB?$AA@"
  C_0BABNOMYM9Chip5driver4() As "??_C@_0BA@BNOM@YM?9Chip?5driver?4?$AA@"
  C_0BANLAJMALLOC5Failed5CB() As "??_C@_0BA@NLAJ@MALLOC?5Failed?5?$CB?$AA@"
  C_0BBFFIDigi9Mix5driver4() As "??_C@_0BB@FFI@Digi?9Mix?5driver?4?$AA@"
  C_0BCGEHMUniversal5Tracker() As "??_C@_0BC@GEHM@Universal?5Tracker?$AA@"
  C_0BDEOPDUnknow5YM5format5CB() As "??_C@_0BD@EOPD@Unknow?5YM?5format?5?$CB?$AA@"
  C_0BDMBNEFile5is5corrupted4() As "??_C@_0BD@MBNE@File?5is?5corrupted?4?$AA@"
  C_0BGHEMCLH55Depacking5Error5CB() As "??_C@_0BG@HEMC@LH5?5Depacking?5Error?5?$CB?$AA@"
  C_0BGIHAAConverted5by5Leonard4() As "??_C@_0BG@IHAA@Converted?5by?5Leonard?4?$AA@"
  C_0BIIDDENot5a5valid5YM5format5CB() As "??_C@_0BI@IDDE@Not?5a?5valid?5YM?5format?5?$CB?$AA@"
  C_0BJMBBDLHARC5Header5must5be505CB() As "??_C@_0BJ@MBBD@LHARC?5Header?5must?5be?50?5?$CB?$AA@"
  C_0CALNJOMalloc5error5in5deInterleaveCICJ6() As "??_C@_0CA@LNJO@Malloc?5error?5in?5deInterleave?$CI?$CJ?6?$AA@"
  C_0CHPOEENo5more5YM4CB5support45Use5YM5C() As "??_C@_0CH@POEE@No?5more?5YM4?$CB?5support?4?5Use?5YM5?$CB?5f@"
  C_0DDOGKGBasic5types5size5are5not5cor() As "??_C@_0DD@OGKG@Basic?5types?5size?5are?5not?5correct@"
  C_0NEEPHMALLOC5Error() As "??_C@_0N@EEPH@MALLOC?5Error?$AA@"
  C_0NGFJEYM53b5CIloopCJ() As "??_C@_0N@GFJE@YM?53b?5?$CIloop?$CJ?$AA@"
  C_0PLEHOFile5not5Found() As "??_C@_0P@LEHO@File?5not?5Found?$AA@"
  ReadBigEndian32YAJP() As "?ReadBigEndian32@@YAJPAE@Z"
  ReadLittleEndian32YAJP() As "?ReadLittleEndian32@@YAJPAE@Z"
  checkCompilerTypesCYmMusicAA() As "?checkCompilerTypes@CYmMusic@@AAEHXZ"
  deInterleaveCYmMusicAA() As "?deInterleave@CYmMusic@@AAEHXZ"
  depackFileCYmMusicAAEP() As "?depackFile@CYmMusic@@AAEPAEXZ"
  loadCYmMusicQAEH() As "?load@CYmMusic@@QAEHPBD@Z"
  loadMemoryCYmMusicQAEHP() As "?loadMemory@CYmMusic@@QAEHPAXK@Z"
  mstrdupYAPADP() As "?mstrdup@@YAPADPAD@Z"
  myFreeYAXPAP() As "?myFree@@YAXPAPAX@Z"
  pauseCYmMusicQA() As "?pause@CYmMusic@@QAEXXZ"
  playCYmMusicQA() As "?play@CYmMusic@@QAEXXZ"
  readMotorolaDwordYAKPAP() As "?readMotorolaDword@@YAKPAPAE@Z"
  readMotorolaWordYAGPAP() As "?readMotorolaWord@@YAGPAPAE@Z"
  readNtStringYAPADPAP() As "?readNtString@@YAPADPAPAD@Z"
  stopCYmMusicQA() As "?stop@CYmMusic@@QAEXXZ"
  unLoadCYmMusicQA() As "?unLoad@CYmMusic@@QAEXXZ"
  ymDecodeCYmMusicAA() As "?ymDecode@CYmMusic@@AAEHXZ"
  CDcAdjusterQA() As "??0CDcAdjuster@@QAE@XZ"
  CYm2149ExQAE() As "??0CYm2149Ex@@QAE@KHK@Z"
  CYm2149ExQA() As "??1CYm2149Ex@@QAE@XZ"
  AddSampleCDcAdjusterQA() As "?AddSample@CDcAdjuster@@QAEXH@Z"
  ResetCDcAdjusterQA() As "?Reset@CDcAdjuster@@QAEXXZ"
  drumStartCYm2149ExQAEXHPA() As "?drumStart@CYm2149Ex@@QAEXHPAEKH@Z"
  drumStopCYm2149ExQA() As "?drumStop@CYm2149Ex@@QAEXH@Z"
  envStepComputeCYm2149ExAAE() As "?envStepCompute@CYm2149Ex@@AAEKEE@Z"
  noiseStepComputeCYm2149ExAA() As "?noiseStepCompute@CYm2149Ex@@AAEKE@Z"
  readRegisterCYm2149ExQA() As "?readRegister@CYm2149Ex@@QAEHH@Z"
  resetCYm2149ExQA() As "?reset@CYm2149Ex@@QAEXXZ"
  rndComputeCYm2149ExAA() As "?rndCompute@CYm2149Ex@@AAEKXZ"
  setClockCYm2149ExQA() As "?setClock@CYm2149Ex@@QAEXK@Z"
  sidSinStartCYm2149ExQAEX() As "?sidSinStart@CYm2149Ex@@QAEXHHH@Z"
  sidStartCYm2149ExQAEX() As "?sidStart@CYm2149Ex@@QAEXHHH@Z"
  sidStopCYm2149ExQA() As "?sidStop@CYm2149Ex@@QAEXH@Z"
  sidVolumeComputeCYm2149ExAAEXH() As "?sidVolumeCompute@CYm2149Ex@@AAEXHPAH@Z"
  syncBuzzerStartCYm2149ExQAE() As "?syncBuzzerStart@CYm2149Ex@@QAEXHH@Z"
  syncBuzzerStopCYm2149ExQA() As "?syncBuzzerStop@CYm2149Ex@@QAEXXZ"
  toneStepComputeCYm2149ExAAE() As "?toneStepCompute@CYm2149Ex@@AAEKEE@Z"
  updateCYm2149ExQAEXP() As "?update@CYm2149Ex@@QAEXPAFH@Z"
  writeRegisterCYm2149ExQAE() As "?writeRegister@CYm2149Ex@@QAEXHH@Z"
  sampleAdress3PAP() As "?sampleAdress@@3PAPAEA"
  sampleLen3P() As "?sampleLen@@3PAKA"
  DataInCLzhDepackerAAEHP() As "?DataIn@CLzhDepacker@@AAEHPAXH@Z"
  DataOutCLzhDepackerAAEHP() As "?DataOut@CLzhDepacker@@AAEHPAXH@Z"
  LzUnpackCLzhDepackerQAE_NPAX() As "?LzUnpack@CLzhDepacker@@QAE_NPAXH0H@Z"
  decodeCLzhDepackerAAEXI() As "?decode@CLzhDepacker@@AAEXIQAE@Z"
  decode_cCLzhDepackerAA() As "?decode_c@CLzhDepacker@@AAEGXZ"
  decode_pCLzhDepackerAA() As "?decode_p@CLzhDepacker@@AAEGXZ"
  decode_startCLzhDepackerAA() As "?decode_start@CLzhDepacker@@AAEXXZ"
  fillbufCLzhDepackerAA() As "?fillbuf@CLzhDepacker@@AAEXH@Z"
  getbitsCLzhDepackerAA() As "?getbits@CLzhDepacker@@AAEGH@Z"
  huf_decode_startCLzhDepackerAA() As "?huf_decode_start@CLzhDepacker@@AAEXXZ"
  init_getbitsCLzhDepackerAA() As "?init_getbits@CLzhDepacker@@AAEXXZ"
  make_tableCLzhDepackerAAEHHPAEH() As "?make_table@CLzhDepacker@@AAEHHPAEHPAG@Z"
  read_c_lenCLzhDepackerAA() As "?read_c_len@CLzhDepacker@@AAEXXZ"
  read_pt_lenCLzhDepackerAAEX() As "?read_pt_len@CLzhDepacker@@AAEXHHH@Z"
EndImport
; ImportC "StSoundLibrary.lib"
; 	ymMusicCreate.l() As "ymMusicCreate"
; ;  ymMusicLoad(*pMusic, *pFileName) As "_ymMusicLoad@8"  ; Method 1 : Load file using stdio library (fopen/fread, etc..)
; EndImport

YMMUSIC=ymMusicCreate()
;ymMusicLoad(0,0);
MessageRequester("Cadeau :) pour zorg",Str(YMMUSIC),#PB_MessageRequester_Ok)



;typedef struct
;{
;	ymchar	*	pSongName;
;	ymchar	*	pSongAuthor;
;	ymchar	*	pSongComment;
;	ymchar	*	pSongType;
;	ymchar	*	pSongPlayer;
;	yms32		musicTimeInSec;		// keep for compatibility
;	yms32		musicTimeInMs;
;} ymMusicInfo_t;

;// Create object
;extern	YMMUSIC *	ymMusicCreate();

;// Release object
;extern	void		ymMusicDestroy(YMMUSIC *pMusic);

;// Functions
;extern	ymbool			ymMusicLoad(YMMUSIC *pMusic,const char *fName);						// Method 1 : Load file using stdio library (fopen/fread, etc..)
;extern	ymbool			ymMusicLoadMemory(YMMUSIC *pMusic,void *pBlock,ymu32 size);			// Method 2 : Load file from a memory block

;extern	ymbool			ymMusicCompute(YMMUSIC *pMusic,ymsample *pBuffer,ymint nbSample);	// Render nbSample samples of current YM tune into pBuffer PCM 16bits mono sample buffer.

;extern	void			ymMusicSetLoopMode(YMMUSIC *pMusic,ymbool bLoop);
;extern	const char	*	ymMusicGetLastError(YMMUSIC *pMusic);
;extern	int				ymMusicGetRegister(YMMUSIC *pMusic,ymint reg);
;extern	void			ymMusicGetInfo(YMMUSIC *pMusic,ymMusicInfo_t *pInfo);
;extern	void			ymMusicPlay(YMMUSIC *pMusic);
;extern	void			ymMusicPause(YMMUSIC *pMusic);
;extern	void			ymMusicStop(YMMUSIC *pMusic);

;extern	ymbool			ymMusicIsSeekable(YMMUSIC *pMusic);
;extern	ymu32			ymMusicGetPos(YMMUSIC *pMusic);
;extern	void			ymMusicSeek(YMMUSIC *pMusic,ymu32 timeInMs);

;#endif



Publié : ven. 14/sept./2007 16:28
par zorg
Ben alors!!
Comment trouver ça par soi-même?? 8O
Bon, je pense que seules les 15 premières lignes sont utiles (elles ressemblent aux lignes en C++ postées plus haut)
Par contre pour les paramètres à passer.. je vais voir.

Merci bien Progi1984.

Publié : ven. 14/sept./2007 17:26
par Backup
ben j'ai tenté un

Code : Tout sélectionner

pMusic = ymMusicCreate();
  mf = ymMusicLoad(pMusic,filename);
  if (mf) {
    ymMusicGetInfo(pMusic,&info);
    ymMusicSetLoopMode(pMusic,YMTRUE);
    ymMusicPlay(pMusic);
seulement ça marche po !! :?
meme en utilisant "ymMusicLoadYAHPAXP" au lieu de ymMusicLoad , hum !! ... :)

Publié : ven. 14/sept./2007 17:54
par zorg
Quant à moi, j'en suis là (inspiré par le code de KarlKox sur la DLL Stsound pour IE):

Ca me donnne bien les infos sur la musique mais aucun son...

Code : Tout sélectionner

Structure ymMusicInfo_t
  pSongName.l
  pSongAuthor.l
  pSongComment.l
  pSongType.l
  pSongPlayer.l
  musicTimeInSec.l
EndStructure


Global YMMUSIC.l
Global Music_infos.ymMusicInfo_t
Global Nomfichier.s



Import "msvcrt.lib"
EndImport

Import "StSoundLibrary.lib"
  ymMusicCreate.l() As "?ymMusicCreate@@YAPAXXZ"
  ymMusicDestroy(*pMusic) As "?ymMusicDestroy@@YAXPAX@Z"
  ymMusicLoad(*pMusic, *pFileName) As "?ymMusicLoad@@YAHPAXPBD@Z"                       ; Method 1 : Load file using stdio library (fopen/fread, etc..)
  ymMusicLoadMemory(*pMusic, *pBlock, size.l) As "?ymMusicLoadMemory@@YAHPAX0K@Z"       ; Method 2 : Load file from a memory block
  ymMusicCompute(*pMusic, *pBuffer, nbSample.w) As "?ymMusicCompute@@YAHPAXPAFH@Z"      ; Render nbSample samples of current YM tune into pBuffer PCM 16bits mono sample buffer.
  ymMusicSetLoopMode(*pMusic, bLoop.b) As "?ymMusicSetLoopMode@@YAXPAXH@Z"
  ymMusicGetLastError(*pMusic) As "?ymMusicGetLastError@@YAPBDPAX@Z"
  ymMusicGetRegister(*pMusic, reg.w) As "?ymMusicGetRegister@@YAHPAXH@Z"
  ymMusicGetInfo(*pMusic, *pInfo) As "?ymMusicGetInfo@@YAXPAXPAUymMusicInfo_t@@@Z"
  ymMusicPlay(*pMusic) As "?ymMusicPlay@@YAXPAX@Z"
  ymMusicPause(*pMusic) As "?ymMusicPause@@YAXPAX@Z"
  ymMusicStop(*pMusic) As "?ymMusicStop@@YAXPAX@Z"

  ymMusicIsSeekable(*pMusic) As "?ymMusicIsSeekable@@YAHPAX@Z"
  ymMusicGetPos(*pMusic) As "?ymMusicGetPos@@YAKPAX@Z"
  ymMusicSeek(*pMusic, timeInMs.l) As "?ymMusicSeek@@YAXPAXK@Z"
  
EndImport



Nomfichier = OpenFileRequester("Sélectionner le fichier musique", "", "YM|*.ym", 0)
result = ReadFile(0, Nomfichier)
If (result <> 0)
  Taille = Lof(0)
  Donnees = AllocateMemory(Taille)
  ReadData(0,Donnees, Taille)
  CloseFile(0)
  YMMUSIC=ymMusicCreate()
  ymMusicLoadMemory(YMMUSIC,Donnees, Taille)
  ymMusicGetInfo(YMMUSIC,Music_infos)
  ymMusicPlay(YMMUSIC)
  ymMusicSetLoopMode(YMMUSIC,#True)

  If OpenConsole()
    Print("Titre: "+PeekS(Music_infos\pSongName)+Chr(10)+Chr(13))
    Print("Auteur: "+PeekS(Music_infos\pSongAuthor)+Chr(10)+Chr(13))
    Print("Commentaires: "+PeekS(Music_infos\pSongComment)+Chr(10)+Chr(13))
    Print("Type: "+PeekS(Music_infos\pSongType)+Chr(10)+Chr(13))
    Print("Lecteur: "+PeekS(Music_infos\pSongPlayer)+Chr(10)+Chr(13))
    Print("Duree: "+Str(Music_infos\musicTimeInSec)+" secondes"+Chr(10)+Chr(13))
    Print(Chr(10)+Chr(13))
    PrintN("Appuyez sur [Entree] pour quitter")
    Input()
  EndIf
  ymMusicStop(YMMUSIC)
  ymMusicDestroy(YMMUSIC)
  FreeMemory(Donnees)
Else
  MessageRequester("", "Erreur d'ouverture du fichier " + Nomfichier)
EndIf


Publié : ven. 14/sept./2007 18:08
par zorg
Bon, c'est pas gagné..

J'ai regardé un peu plus les fichiers en C et même si je n'y comprends rien, je vois bien que dans l'exemple de lecteur, il faut initialiser un Soundserver et lui charger les samples apparemment. (C'est le fichier soundserver.cpp de l'archive postée plus haut).

Je pense que je vais rester bloqué là. Dommage. :cry:

Si quelqu'un s'y connait en C++ :?:

Merci d'avance.

Publié : ven. 14/sept./2007 18:20
par Backup
zorg a écrit :Quant à moi, j'en suis là (inspiré par le code de KarlKox sur la DLL Stsound pour IE):

la dll de Karlkox marche impeccable !!
il a juste fallu passer le source en purebasic 4.10 :D

mais chez moi son code marche niquel
et comme il s'agit d'un player, on a tous ce qu'il faut pour en tirer partie :D
meme un Barre Graph dans la foulée :D

que demande le peuple :D

Merci KarlKox (avec un poil de retard !!)

si ça vous interresse je vous fait un petit pack du source des code de Karlkox mis a jour :D
avec le strict minimum pour que ça marche ! :D


allez ben tiens :

http://michel.dobro.free.fr/Forum_PB/ym_player.zip
:D