AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 SaudioPlus (GEX/GML)

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
SPLN
Utilisateur confirmé: Rang ***
avatar

Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

MessageSujet: SaudioPlus (GEX/GML)   Ven 1 Avr 2011 - 8:18

SaudioPlus
Optimisation du projet Saudio

Auteur: Auteur de la DLL Saudio & SPLN
Date de Sortie: 04/09/2011

Avancement Actuel: |||||||||||||||||||| ~ 100%


Ajout de fonctions à la DLL Saudio, comme le volume, l’intégration dans la fenêtre, etc...



Informations Complémentaires & Techniques:

Type de Jeu: N/A
Version de Game Maker utilisée: 8.x/7.x


Screenshots & Vidéos
<Indisponible>

Avancements et News à propos du projet:
01/04/2011: Création du Topic (non c'est pas une blague!)
09/04/2011: Ajout d'un mode CD
04/09/2011: Retrait du mode CD
Première release

Fonctions:
- Les mêmes que Saudio
- Fonction gérant le volume (gauche, droite, milieu)
- Fonction gérant l’écran dans/hors de la fenêtre GM
- Fonction gérant le nom de la fenêtre hors de GM
- Fonction gérant la vitesse
- Fonction gérant les CDAudio

Fichiers Téléchargeables
Version 1
Version 2 ( Exemple (gex) ; Exemple (gml) ; GEX )
GML Code a écrit:
#define saud_play
// saud_play(id)
// Play the media id
MCI_command("seek "+string(argument0)+" to start");
return MCI_command("play "+argument0)

#define saud_pause
// saud_pause(id)
// Pause the media id
return MCI_command("pause "+argument0)

#define saud_resume
// saud_resume(id)
// Resume the media id
return MCI_command("resume "+argument0)

#define saud_stop
// saud_stop(id)
// Stop the media id
return MCI_command("stop "+argument0)

#define saud_seek
// saud_seek(pos,id)
// Seek the media id to position pos
MCI_command("seek "+string(argument1)+" to "+string(argument0));
MCI_command("play "+argument1);//fix: when cant resume

#define saud_position
// saud_position(id)
// Get the current position of media id
return MCI_command("status "+argument0+" position")

#define saud_length
// saud_length(id)
// Get the length of media id
return MCI_command("status "+argument0+" length")

#define saud_close
// saud_close(id)
// Close the media id
return MCI_command("close "+argument0)

#define saud_load
// saud_load(path,id)
// Load a file from path and assign it an id
var dev, dev2, file, check, buffer, c, get_dev;
//Device
dev[1] = "MPEGVideo";//*(vista/seven)codec
dev[2] = "WaveAudio";//*.wav
dev[3] = "Sequencer";//*.mid
dev[4] = "AVIVideo";//*.avi
dev[5] = "DigitalVideo";//*video?
dev[6] = "Overlay";//*video?
dev[7] = "MMMovie";//*video?
dev[8] = "DAT";//*audio?
dev[9] = "Other";//*???

//file
file = argument0;

//c (counter)
c = 1;
get_dev = "ERROR";
check = 0;

do
{
buffer = MCI_command('open "'+file+'" type '+dev[c]+" alias SPLN");
MCI_command("close SPLN");
if real(buffer) >= 1
{
get_dev = dev[c];
check = 1;
}
c+=1;
}until (check = 1) or (c > 9)

//RETURN
dev2 = get_dev;
/*****/
if dev2!= "ERROR"
{return MCI_command('open "'+argument0+'" type '+dev2+" style overlapped alias "+string(argument1))}
else {return -1;}

#define saud_status
// saud_status(id)
// Get the media id current status ( STOPPED / PAUSED / PLAYING / SEEKING / ect... )
return MCI_command("status "+argument0+" mode")

#define saud_can_play
// saud_can_play(id)
// Can the media id be played

switch (MCI_command("capability "+argument0+" can play")) {

case "true" : return true ;break;
default : return false

}

#define saud_is_playing
// saud_is_playing(id)
// Return true if the media is playing
if ( string_lower(MCI_command("status "+argument0+" mode")) == "playing" )
{ return true } else { return false }

#define saud_is_paused
// saud_is_paused(id)
// Return true if the media is paused
if ( string_lower(MCI_command("status "+argument0+" mode")) == "paused" )
{ return true } else { return false }

#define saud_is_stopped
// saud_is_stopped(id)
// Return true if the media is stopped
if ( string_lower(MCI_command("status "+argument0+" mode")) == "stopped" )
{ return true } else { return false }

#define saud_set_global_volume
//saud_set_global_volume(vol,id)
MCI_command("setaudio "+string(argument1)+" volume to "+string(argument0))

#define saud_get_global_volume
//saud_get_global_volume(id)
MCI_command("status "+string(argument0)+" volume")

#define saud_set_volume_left
//saud_set_volume_left(vol,id)
MCI_command("setaudio "+string(argument1)+" left volume to "+string(argument0))

#define saud_get_volume_left
//saud_get_volume_left(id)
MCI_command("status "+string(argument0)+" left volume")

#define saud_set_volume_right
//saud_set_volume_right(vol,id)
MCI_command("setaudio "+string(argument1)+" right volume to "+string(argument0))

#define saud_get_volume_right
//saud_get_volume_right(id)
MCI_command("status "+string(argument0)+" right volume")

#define saud_movie_in
// saud_movie_in(id)
// Set the movie's window handle from GM Window
MCI_command("window "+argument0+" handle "+string(window_handle())+" notify")

#define saud_movie_out
// saud_movie_out(id)
// Set the movie's window handle from an external window
MCI_command("window "+argument0+" handle default notify")

#define saud_movie_set_rect
//saud_movie_set_rect(x,y,w,h,id)
MCI_command("put "+argument4+" destination at "+string(argument0)+" "+string(argument1)+" "+string(argument2)+" "+string(argument3))

#define saud_movie_set_caption
// saud_set_caption(text,id)
// If the movie is handled by an external window it will set the window's caption
MCI_command('window '+argument1+' text "'+string(argument0)+'"')

#define saud_has_movie
// saud_has_movie(id)
// Return true if the media id has a movie
return !( MCI_command("status "+argument0+" window handle") == "" )

#define saud_movie_is_in
// saud_movie_is_in(id)
// Return true if the movie is in GM's window
return ( MCI_command("status "+argument0+" window handle") == string( window_handle() ) )

#define saud_movie_is_out
// saud_movie_is_out(id)
// Return true if the movie is not in GM's window
return !( MCI_command("status "+argument0+" window handle") == string( window_handle() ) )

#define saud_movie_window_handle
// saud_movie_window_handle(id)
// Get the media id's window handle
return MCI_command("status "+argument0+" window handle")

#define saud_set_speed
// saud_set_speed(speed,id)
MCI_command("set "+string(argument1)+" speed "+string(argument0))

#define saud_get_speed
// saud_get_speed(id)
MCI_command("status "+string(argument0)+" speed")


_________________
SP Lecteur Multimedia
I am an in the GM Quiz!


Dernière édition par SPLN le Jeu 5 Juil 2012 - 19:14, édité 9 fois
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
onilink_
Modérateur
avatar

Messages : 8915
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: SaudioPlus (GEX/GML)   Ven 1 Avr 2011 - 15:20

Saudio permet d'utiliser quoi comme format audio ?


_________________
                 
Revenir en haut Aller en bas
SPLN
Utilisateur confirmé: Rang ***
avatar

Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

MessageSujet: Re: SaudioPlus (GEX/GML)   Ven 1 Avr 2011 - 15:22

Tu as trouvé une piste, perso je savais pas. Mais quand j'ai utilisé les commandes MCI avec l'id utilisé par Saudio et que ça a fonctionné ça à fait tilt ^^.

_________________
SP Lecteur Multimedia
I am an in the GM Quiz!
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
onilink_
Modérateur
avatar

Messages : 8915
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: SaudioPlus (GEX/GML)   Ven 1 Avr 2011 - 15:50

Lawl, jcrois que j'ai déjà perdu le fil de la conversation =s

En fait je demandais ce que Saudio permet de lire comme type de fichier audio.
mp3 ? ogg ? autre ?

_________________
                 
Revenir en haut Aller en bas
SPLN
Utilisateur confirmé: Rang ***
avatar

Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

MessageSujet: Re: SaudioPlus (GEX/GML)   Dim 4 Sep 2011 - 14:59

Tout et rien, à l'origine il lit les fichiers compatibles avec Windows Media Player.
Sinon il peut gérer certains codecs et aparrament utiliser le MCI.

Ce qui me permet de gérer le média chargé via la DLL/GEX et MCI_command() en parallèle.
Très pratique. Par contre je sais toujours pas comment la DLL fait pour charger les codecs =/.

Car ça me permettrait de ne plus l'utiliser...


EDIT: Ajout d'un mode CDAudio
EDIT2: Je l'ai finalement retiré car n'apportais rien de plus (pour le moment) à part la gestion des frames différentes sinon rien d'autres :/

Puis j'avais complètement zappé ce projet donc je l'uploaderais demain.

EDIT3: Finalement j'ai bien fait car mon script de chargement de fichier avait un défaut il ne chargeait qu'un seul fichier à la fois xD
EDIT4: Uploadé ^^

_________________
SP Lecteur Multimedia
I am an in the GM Quiz!
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
Asu
Utilisateur confirmé: Rang ****
avatar

Messages : 895

MessageSujet: Re: SaudioPlus (GEX/GML)   Sam 19 Mai 2012 - 9:07

SORS LA PROCHAINE VERSION DE SAUDIO PLUS COMME TU ME L'AS MP!
horror
Héhé, j'ai trop envie de connaître les news de cette version.
awesome
Revenir en haut Aller en bas
SPLN
Utilisateur confirmé: Rang ***
avatar

Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

MessageSujet: Re: SaudioPlus (GEX/GML)   Sam 19 Mai 2012 - 9:20

Pas la peine de troller le topic avant que je "tease" la nouvelle version ><.

Donc la nouvelle version contiendra de nouvelles fonctions utile mais non présente:
comme :
- saud_is_playing
- saud_is_stopped
- saud_is_paused
De nouvelles fonctions pour le support vidéo dont:
- saud_has_movie
- saud_is_in
- saud_is_out
Ainsi que les fonctions permettant de faire un enregistrement. Comme ceux présentes dans la version DLL de Saudio.

Après tu as d'autres fonctions que j'aurais voulu implanté : comme modifier le rendu vidéo mais comme il ne fonctionne pas avec tout les PCs j'ai laissé tombé. Voilà, sortie prochainement ^^

_________________
SP Lecteur Multimedia
I am an in the GM Quiz!
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
NVRB
Très bonne participation
avatar

Messages : 140
Localisation : Vexin Français
Projet Actuel :

MessageSujet: Re: SaudioPlus (GEX/GML)   Jeu 7 Juin 2012 - 9:29


Quand j'essaye de décompresser l'archive Saudio, le message d'erreur suivant survient:
Code:
Une erreur inattendue vous empêche de copier le fichier. Si le problème persiste, utilisez le code d'erreur pour rechercher de l'aide sur cette erreur.
Erreur 0x80004005: Erreur non spécifiée


J'ai réussi à extraire les fichiers de l'archive, mais uniquement avec le logiciel 7-ZIP (ne marche pas avec WinWar).

_________________
Projet actuel :
Revenir en haut Aller en bas
SPLN
Utilisateur confirmé: Rang ***
avatar

Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

MessageSujet: Re: SaudioPlus (GEX/GML)   Jeu 7 Juin 2012 - 13:36

C'est surement parce que j'ai compressé l'archive avec 7zip. Je vais voir dans ce cas si c'est du au format de compression et ré-uploader le tout quand j'aurais le temps. Sinon merci d'avoir rapporter cette erreur quelque peu contraignante :v/

_________________
SP Lecteur Multimedia
I am an in the GM Quiz!
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
X-Law
Débutant
avatar

Messages : 10
Localisation : spain
Projet Actuel : 7H

MessageSujet: Re: SaudioPlus (GEX/GML)   Mar 26 Juin 2012 - 18:11

Hi there.
Didn't know where to tell you this. Anyway i tried using you version but got some issues.
I use GM8 and when i test your example i load the file and it works great but then i clic on play. The sound plays once but then stop "working" i mean, whenever i play stop it doesn't matter if i want the audio to play again when i clic on play i have to restar te "test" or press "s" and set to 0 then it replays automatically. Then again if i try to load another file same happens but the new file isn't even loaded still the first file is played. What's wrong? and how can i solve it?
ps. sorry for not writing in french
ps2. thanks in advance.
Revenir en haut Aller en bas
http://fatbros.tk
SPLN
Utilisateur confirmé: Rang ***
avatar

Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

MessageSujet: Re: SaudioPlus (GEX/GML)   Mar 26 Juin 2012 - 19:03

My example is maybe a little bit glitchy :/
Does this work if you use the Saudio DLL example? Try to replace the DLL with the SaudioPlus gex or gml file.
The issues is still persistent after this? Maybe I do some mistakes in the code.

However SaudioPlus doesn't have a loop function, you have to make it by yourself. Because it's not a native MCI String function.
http://gmc.yoyogames.com/index.php?showtopic=153450&view=findpost&p=3857978

And the "stop" mci function doesn't reload the media, it's not like the stop button in a media player. In my media player (SP Lecteur Multimedia) when you press stop : it close the media and reload it.

Well, thank you for you report. I hope this will help you.

PS: Sorry for my bad English :vP

_________________
SP Lecteur Multimedia
I am an in the GM Quiz!
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
X-Law
Débutant
avatar

Messages : 10
Localisation : spain
Projet Actuel : 7H

MessageSujet: Re: SaudioPlus (GEX/GML)   Mer 27 Juin 2012 - 13:07

Hey thank you for your fast answer ^^
Well i'll try to explain it more detailed. The same error i get with your example i get it on my game if i add the gex or the .gml.
I tried the original saudio (the dll + script) and it worked but you know it's GM8, so it worked for a little bit.
Only loaded a few sounds then some audio already loaded stopped working and only one instance of a sound could be reproduced at a time (even when with the default GM audio i can play more than one instance of the same sound).
An easy example i did something like this:
Create event:
saud_load("cursor.wav","cursor");
Key Press Event for <Up> Key:
saud_play("cursor")
Key Press Event for <Down> Key:
saud_play("cursor")

Then when i press up or down ingame the sound plays only once next time i press up/down i get no sound.

Thanks for your help.
ps. Your english is good.
Revenir en haut Aller en bas
http://fatbros.tk
SPLN
Utilisateur confirmé: Rang ***
avatar

Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

MessageSujet: Re: SaudioPlus (GEX/GML)   Jeu 28 Juin 2012 - 7:11

Does this work if you do something like that:

Create event:
saud_load("cursor.wav","cursor");
Key Press Event for <Up> Key:
saud_seek(0,"cursor")
Key Press Event for <Down> Key:
saud_seek(0,"cursor")

OR

by replacing the saud_play script :
Code:
// saud_play(id)
// Play the media id
MCI_command("seek "+string(argument0)+" to start");
return MCI_command("play "+argument0)

_________________
SP Lecteur Multimedia
I am an in the GM Quiz!
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
X-Law
Débutant
avatar

Messages : 10
Localisation : spain
Projet Actuel : 7H

MessageSujet: Re: SaudioPlus (GEX/GML)   Ven 29 Juin 2012 - 13:20

yay it worked thank you gnii
Could the .gex be updated with this?
Revenir en haut Aller en bas
http://fatbros.tk
SPLN
Utilisateur confirmé: Rang ***
avatar

Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

MessageSujet: Re: SaudioPlus (GEX/GML)   Jeu 5 Juil 2012 - 19:25

Tu aurais carrément pu ne pas m'attendre et le mettre à jour. C'est justement pour ça que j'avais laisser le *.ged de cette extension. Il suffisait d'utiliser Extension_Maker fournis sur le site yoyogames et le CBNA. Cependant je me suis au final permis de faire quelques améliorations : Version 2 ( Exemple (gex) ; Exemple (gml) ; GEX )

Alors le bug de la fonction saud_play() est corrigé, et j'ai ajouté de nouvelles fonctions : saud_is_stopped/paused/playing ; saud_movie_is_in/out ; saud_movie_window_handle(). C'est pas grand chose mais ça peut toujours être utile. Puis j'ai également peaufiné cet exemple un peu laid. Qu'il est toujours mais avec cependant quelques améliorations : une barre pour la gestion de la position du média et des volumes (j'aurais jamais cru ressortir mon cours sur les fonctions pour ça :vP). Ainsi que l'affichage du temps en seconde et pour finir un système pour lire le média en boucle. Voilà.

_________________
SP Lecteur Multimedia
I am an in the GM Quiz!
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
Asu
Utilisateur confirmé: Rang ****
avatar

Messages : 895

MessageSujet: Re: SaudioPlus (GEX/GML)   Jeu 26 Juil 2012 - 16:08

Je suis de retour happy1

Je vais reécrire Soundii d'une manière plus simple, plus claire, plus configurable et plus de fonctions Very Happy

Bon, je vais essayer cette nouvelle version, mais y'a quoi de nouveau dedans?
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: SaudioPlus (GEX/GML)   

Revenir en haut Aller en bas
 
SaudioPlus (GEX/GML)
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Informations :: Projets-
Sauter vers: