jaPBe pour PureBasic v4.x

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: jaPBe pour PureBasic v4.x

Message par Backup »

je t'ai MP

note que j'ai viré plusieurs fois japbe et le dossier tailbite et reinstallé japbe...

ps : purelib manager dit que ma lib est installée !! :D

mais ça deconne toujours
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: jaPBe pour PureBasic v4.x

Message par gnozal »

Y avait un problème dans ton code (cf. MP).
AttachProcess, c'est pour les DLL. Pour les userlibs, on initialise dans une procedure _Init().

çà compile sans problème et je vois les fonctions exportées (je n'ai pas de code pour tester les fonctions de la lib).
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: jaPBe pour PureBasic v4.x

Message par Backup »

apres avoir tout désinstallé , pb+japbe , maintenant ça marche .. Merci a toi :)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: jaPBe pour PureBasic v4.x

Message par Backup »

dis moi Gnozal

le PBi "MCI-Commands" dans les includes de japbe tu le fourni toujours avec japbe ?

parce que si ça t'intéresse , j'ai ajouté , le support du format "wav" en mode lecture et enregistrement, plus ajout des parametres de resolution du format wav (16 bits, stereo,frequence) ;)

puis j'ai commencé a y ajouter le support des lecteurs de cd rom (avec ouverture/fermeture du tiroir, choix du lecteur)
je le met ici : + exemple d'utilisation pour enregistrement

Le PBI a mettre dans le dossier "include" de Pb

Code : Tout sélectionner

;Info: MCI-Commands (to play mp3s, and so on)
Enumeration 0
  #MCI_Unknown
  #MCI_Stopped
  #MCI_Playing
  #MCI_Paused
EndEnumeration

Procedure MCI_GetStatus(Nb)
  Protected Result.l, i, a$
  Result=#MCI_Unknown
  a$=Space(#MAX_PATH)
  i=mciSendString_("status MCI_"+Str(Nb)+" mode",@a$,#MAX_PATH,0)
  If i=0
    Select a$
      Case "stopped":Result=#MCI_Stopped
      Case "playing":Result=#MCI_Playing
      Case "paused":Result=#MCI_Paused
      Case "not ready":Result=#MCI_Unknown
    EndSelect
  EndIf
  ProcedureReturn Result
EndProcedure

Procedure MCI_Load(Nb,file.s,Type$)
  Protected i.l
  If Type$="midi"
    ; ajout par Dobro
    i=mciSendString_("OPEN "+Chr(34)+file+Chr(34)+" Type sequencer alias MCI_"+Str(Nb),0,0,0)
  EndIf
  If Type$="mpeg" Or Type$="mp3"
    i=mciSendString_("OPEN "+Chr(34)+file+Chr(34)+" Type mpegvideo alias MCI_"+Str(Nb),0,0,0); video et Mp3
  EndIf
  If Type$="wav"
    ; ajout Par Dobro
    i=mciSendString_("OPEN "+Chr(34)+file+Chr(34)+" Type waveaudio alias MCI_"+Str(Nb),0,0,0)
  EndIf
  If Type$="cd"
    ; ajout Par Dobro
    i=mciSendString_("OPEN "+Chr(34)+file+Chr(34)+" Type cdaudio alias MCI_"+Str(Nb),0,0,0)
  EndIf
  
  If i=0
    ProcedureReturn #True
  Else
    ProcedureReturn #False
  EndIf
EndProcedure


Procedure MCI_Play(Nb)
  Protected i.l
  i=mciSendString_("play MCI_"+Str(Nb),0,0,0)
  ProcedureReturn i
EndProcedure

Procedure MCI_PlayStart(Nb)
  Protected i.l
  
  i=mciSendString_("play MCI_"+Str(Nb)+" from "+Str(0),0,0,0)
  ProcedureReturn i
EndProcedure

Procedure MCI_PlayPart(Nb,start,endPos)
  Protected i.l
  
  i=mciSendString_("play MCI_"+Str(Nb)+" from "+Str(start)+" to "+Str(endPos),0,0,0)
  ProcedureReturn i
EndProcedure

Procedure MCI_Pause(Nb)
  Protected i.l
  
  i=mciSendString_("pause MCI_"+Str(Nb),0,0,0)
  ProcedureReturn i
EndProcedure

Procedure MCI_Resume(Nb)
  Protected i.l
  
  i=mciSendString_("resume MCI_"+Str(Nb),0,0,0)
  ProcedureReturn i
EndProcedure

Procedure MCI_Stop(Nb)
  Protected i.l
  i=mciSendString_("stop MCI_"+Str(Nb),0,0,0)
  ProcedureReturn i
EndProcedure

Procedure MCI_Free(Nb)
  Protected i.l
  i=mciSendString_("close MCI_"+Str(Nb),0,0,0)
  ProcedureReturn i
EndProcedure

Procedure MCI_SetVolume(Nb,Volume)
  Protected i.l
  i=mciSendString_("SetAudio MCI_"+Str(Nb)+" volume to "+Str(volume),0,0,0)
  ProcedureReturn i
EndProcedure

Procedure MCI_GetVolume(Nb)
  Protected i.l
  Protected a$=Space(#MAX_PATH)
  i=mciSendString_("status MCI_"+Str(Nb)+" volume",@a$,#MAX_PATH,0)
  ProcedureReturn Val(a$)
EndProcedure

Procedure MCI_SetSpeed(Nb,Tempo)
  Protected i.l
  i=mciSendString_("set MCI_"+Str(Nb)+" Speed "+Str(Tempo),0,0,0)
  ProcedureReturn i
EndProcedure

Procedure MCI_GetSpeed(Nb)
  Protected a$=Space(#MAX_PATH)
  Protected i.l
  
  i=mciSendString_("status MCI_"+Str(Nb)+" Speed",@a$,#MAX_PATH,0)
  ProcedureReturn Val(a$)
EndProcedure

Procedure MCI_GetLength(Nb)
  Protected a$=Space(#MAX_PATH)
  Protected i.l
  
  i=mciSendString_("status MCI_"+Str(Nb)+" length",@a$,#MAX_PATH,0)
  ProcedureReturn Val(a$)
EndProcedure

Procedure MCI_GetPosition(Nb)
  Protected a$=Space(#MAX_PATH)
  Protected i.l
  i=mciSendString_("status MCI_"+Str(Nb)+" position",@a$,#MAX_PATH,0)
  ProcedureReturn Val(a$)
EndProcedure

Procedure MCI_Seek(Nb,pos)
  Protected i.l
  i=mciSendString_("Seek MCI_"+Str(Nb)+" to "+Str(pos),0,0,0)
  ProcedureReturn i
EndProcedure
Procedure.s MCI_TimeString(Time)
  Protected sek.l, min.l
  Time/1000
  sek=Time%60:Time/60
  min=Time%60:Time/60
  ProcedureReturn RSet(Str(Time),2,"0")+":"+RSet(Str(min),2,"0")+":"+RSet(Str(sek),2,"0")
EndProcedure

; *********** ajouté par Dobro **********************

; ***************  CD rom  ********************
Procedure MCI_open_door() ; ouvre la porte du lecteur
  ; ajout Par Dobro
  mciSendString_("Set MCI_ door open wait", 0, 0, 0);
EndProcedure
Procedure MCI_close_door() ; ferme la porte du lecteur
  ; ajout Par Dobro
  mciSendString_("Set MCI_ door closed wait", 0, 0, 0);
EndProcedure
Procedure MCI_drive(letter.s) ; choix du lecteur de Cd rom
  ; ajout Par Dobro
  mciSendString_("open "+letter.s+":\ Type cdaudio alias MCI_", 0, 0, 0)
EndProcedure
Procedure MCI_drive_numb_track(letter.s) ; choix du lecteur de Cd rom
  ; ajout Par Dobro
  a$=Space(#MAX_PATH)
  i=mciSendString_("status MCI_"+Str(Nb)+" number of tracks ",@a$,#MAX_PATH,0)
  ProcedureReturn Val(a$)
EndProcedure
; *******************************************************************************

; ********************** wav *****************************************
Procedure MCI_init_Record(filename$) ; a faire avant tout enregistrement !!
  ; ajout Par Dobro
 Global buffer$
  buffer$=Space(128)
  DeleteFile_(filename$)
  mciSendString_("open new type waveaudio alias MCI_ ",buffer$,128,0)  ; atribue la carte son a 'capture'
EndProcedure



Procedure mci_frequence(num=44100); 44,100 par defaut
  ; ajout Par Dobro
  mciSendString_("set MCI_ samplesperbuffer "+Str( num)+Chr(34) ,0,0,0) ; passe en 44,1
  mciSendString_("set MCI_ samplespersec "+Str( num)+Chr(34) ,0,0,0) ;
EndProcedure
Procedure mci_bits(num=16) ; 16 bits par defaut
  ; ajout Par Dobro
  mciSendString_("set MCI_ bitspersample "+Str( num)+Chr(34) ,0,0,0) ; 16 bits
EndProcedure
Procedure mci_channels(num=2); stereo par defaut
  ; ajout Par Dobro
  mciSendString_("set MCI_ channels "+Str(num)+Chr(34) ,0,0,0) ; stereo
EndProcedure
Procedure mci_save_record(filename$)
  ; ajout Par Dobro
  mciSendString_("save MCI_ "+filename$,buffer$,128,0) ; sauve le buffer
EndProcedure
Procedure mci_RecordWav_time(filename$,ms)   
  ; ajout Par Dobro
  mciSendString_("record MCI_ ",buffer$,128,0) ; passe en mode recording (a defaut de play)
  Sleep_(ms) ; Wait for specified capture time to end.   
mci_save_record(filename$)
EndProcedure
Procedure mci_RecordWav(filename$)   
  ; ajout Par Dobro
  mciSendString_("record MCI_ ",buffer$,128,0) ; passe en mode recording (a defaut de play)
EndProcedure


;****************************************************************************************
; ************************ Midi *********************************************************
Procedure SetMidiTempo(Nb,Tempo)
  ; ajout Par Dobro
  i=mciSendString_("set MCI_"+Str(Nb)+" tempo "+Str(Tempo),0,0,0)
  ProcedureReturn i
EndProcedure

Procedure GetMidiTempo(Nb)
  ; ajout Par Dobro
  a$=Space(#MAX_PATH)
  i=mciSendString_("status MCI_"+Str(Nb)+" Tempo",@a$,#MAX_PATH,0)
  ProcedureReturn Val(a$)
EndProcedure
; ********************************************************************************************


 

et voici l'exemple d'utilisation
ne pas oublier de cocher dans "option du projet/fichier inclus" "MCI-Commands " avant compilation :)

Code : Tout sélectionner

; utilisation de l'include MCI commands.pbi

MessageRequester("Info","Click OK pour capturer le fichier c:\test.wav pendant 8 secondes",0)

; ********************* recording wav  *********************************************
MCI_init_Record("test.wav")  :mci_frequence(44100):mci_bits(16):mci_channels(2) ; passe en stereo,44,1 mhz,16 bits
mci_RecordWav_time("test.wav",8000) ; enregistre le fichier test.wav d'une duree de 8 secondes
mci_save_record("test.wav") ; sauve le fichier !
; *********************************************************************************

MessageRequester("Info","ok ,c'est enregistré , on va relire maintenant ",0)
; **************************** relecture ********************************************
MCI_Load(1,"test.wav","wav")
MCI_Play(1)
MessageRequester("Info","et voila :o) ",0)
End
; *********************************************************************************

Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: jaPBe pour PureBasic v4.x

Message par Backup »

j'ai corrigé un peu l'include ;)
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: jaPBe pour PureBasic v4.x

Message par gnozal »

Dobro a écrit :j'ai corrigé un peu l'include ;)
Merci !
Je mettrais à jour l'include pour la prochaine version de jaPBe.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: jaPBe pour PureBasic v4.x

Message par Backup »

il se passe un truc bizarre , avec japbe , je me dois de t'en parler
parceque cela est peut etre arrivé a d'autre ..


sur un assez gros projet (une librairie)
hier je quitte japbe sans probleme

puis je relance japbe pour vérifier un truc dans mon code
là ! je constate qu'il m'a affiché le code d'il y a environ 1 heure en arrière

j'ai du avoir a tout re-coder comme si j'etais remonté dans le temps d'une heure !! :twisted:

et c'est pas la premiere fois que ça m'arrive ce truc !
on dirait que japbe se mélange les pinceaux avec les sauvegardes automatique au moment de compiler ...

c'est assez stressant , d'avoir a retrouver dans l'editeur la version precedente d'un code au démarrage .....

ça m'a rendu dingue hier !
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: jaPBe pour PureBasic v4.x

Message par Le Soldat Inconnu »

jamais eu ce souci .... m^me avec mes super gros code :?
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: jaPBe pour PureBasic v4.x

Message par Backup »

ben je vais allez faire une émission genre "Mysteres";"La soirée de l'etrange" ! :lol:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: jaPBe pour PureBasic v4.x

Message par Backup »

Japbe est compatible avec la V 4.50 ? 8O

car sur le site de Gnozal il dit jusqu'a la version 4.40 ...
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: jaPBe pour PureBasic v4.x

Message par Ar-S »

Peut-être par manque de temps pour mettre à jour le site ?
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
GeBonet
Messages : 453
Inscription : ven. 29/févr./2008 16:17
Localisation : Belgique

Re: jaPBe pour PureBasic v4.x Problème avec PureColor !!!

Message par GeBonet »

Bonjour,
Je viens de charger la toute fraiche version 4.5... Pas de problème apparent !

Comme pour chaque version, je charge et test une série d'exemple dans diverses librairies !
Petzold, SRod, Gdiplus, WxWiget.Lib et forcément les Lib de Gnozal...
Et la "PureCOLOR-450-Installer.exe" donc je présume pour PB 4.50...
L'exemple ci-dessous me donne le message suivant :
[ERREUR] Invalid memory access. (read error at address 4)
Note : Testé sous 4.41, 4.40 pas de problème !

Code : Tout sélectionner

; --------------------------------------------------------
;               PureCOLOR library test file 15
; --------------------------------------------------------
;
DataSection
  ButtonIcon:
  IncludeBinary #PB_Compiler_Home + "Examples\Sources\Data\CdPlayer.ico"
EndDataSection
Button_Icon = CatchImage(#PB_Any, ?ButtonIcon)
Button_Icon_2 = Button_Icon
If OpenWindow(0, 421, 13, 270, 362, "Icon Button Test", #PB_Window_SystemMenu|#PB_Window_TitleBar)
  ButtonGadget(0, 35, 45, 200, 35, "Centered text")
  PureCOLOR_SetIconButton(0, #Green, #PureCOLOR_SystemColor, Button_Icon) ; << ICI ===
  ButtonGadget(1, 35, 85, 200, 35, "Centered text")
  PureCOLOR_SetIconToggleButton(1, #Green, #Black, #Red, #White, Button_Icon, Button_Icon_2)
  ButtonGadget(2, 35, 135, 200, 35, "Left text", #PB_Button_Left)
  PureCOLOR_SetIconButton(2, #Blue, #PureCOLOR_SystemColor, Button_Icon)
  ButtonGadget(3, 35, 185, 200, 35, "Right text", #PB_Button_Right)
  PureCOLOR_SetIconButton(3, #Blue, #PureCOLOR_SystemColor, Button_Icon)
  ButtonGadget(4, 35, 235, 200, 35, "Icon button with" + Chr(10) + "multiline text", #PB_Button_MultiLine)
  PureCOLOR_SetIconButton(4, #Blue, #PureCOLOR_SystemColor, Button_Icon)
  ButtonGadget(5, 35, 285, 200, 35, "Button with" + Chr(10) + "multiline text", #PB_Button_MultiLine)
  PureCOLOR_SetButtonColor(5, #Blue, #PureCOLOR_SystemColor)
  Repeat
    Event = WaitWindowEvent()
    Select Event
      Case #PB_Event_CloseWindow
        EventWindow = EventWindow()
        If EventWindow = 0
          CloseWindow(0)
          Break
        EndIf
    EndSelect
  ForEver
EndIf
; --------------------------------------------------------------------
Remarque :
Les autres exemple impliquant une extension dans PureColor produisent le même effet !
Par exemple : PureCOLOR_SetGadgetColor(1, RGB(255,0,0), -1) :D OK
___________ PureCOLOR_SetGadgetColorEx(2, RGB(0,0,0), RGB(255, 255, 255), RGB(255, 255, 223), #PureCOLOR_LV_AlternateColors) ; PAS OK :(

Voilà, voilà... C'est peut-être pas encore compatible ??? :?
A++ :D
Windows 7 et Windows 8.1 Pb 5.0 jusque 5.24 Lts 64 et 5.3 (64)/b]
“Ceux qui rêvent éveillés ont conscience de mille choses qui échappent à ceux qui ne rêvent qu’endormis.”
-Edgar Allan Poe-
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: jaPBe pour PureBasic v4.x

Message par Ar-S »

Quelqu'un aurait la gentillesse de m'upper Japbe et les libs (purecolor, pureresize etc..) et pureform pour PB 4.50
Le site de gnozal a l'air en carafe http://gnozal.ucoz.com/
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: jaPBe pour PureBasic v4.x

Message par Backup »

Ar-S a écrit :Quelqu'un aurait la gentillesse de m'upper Japbe et les libs (purecolor, pureresize etc..) et pureform pour PB 4.50
Le site de gnozal a l'air en carafe http://gnozal.ucoz.com/

le site marche tres bien :)
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: jaPBe pour PureBasic v4.x

Message par Ar-S »

Bordel c'est malwarebytes qui bloquait le site... => poubelle
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre