:: PlayerAdvance.org ::  

Précédent   :: PlayerAdvance.org :: > :: Développement Amateur :: > Librairies et Utilitaires

Publicité

Réponse
 
Outils de la discussion Modes d'affichage
Vieux 06/07/2007, 00h56   #76
Noda
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: à montréal jusqu'au 4 mai, après retour en france ^^
Messages: 570
Par défaut

euh un décodeur ADPCM sur la DS, ca sert à rien, la DS support ce format en natif déjà...
__________________
http://nodadev.wordpress.com
Noda est déconnecté   Réponse avec citation

Publicité

Vieux 06/07/2007, 07h39   #77
omg
Modérateur
 
Date d'inscription: 10/11/2005
Localisation: Mad Monster Mansion
Messages: 3 755
Par défaut

Citation:
Envoyé par Noda Voir le message
euh un décodeur ADPCM sur la DS, ca sert à rien, la DS support ce format en natif déjà...
Je débute et j'avoue ne pas bien connaitre le bête mais pourtant en tête du topic il y a :
Citation:
[NDS|GBA] Lecteur ADPCM
__________________

News GBA/DS:
Portable DEV
Colorer un jeu GB? Débutant - Avancé - Expert
Projets : Banjo Advance - The Last Quest - Klungo's Brain School
Site des jeux : BanjoKazooie.Free.Fr Web Site

FAN FOREVER
"La Vie n'est pas aussi simple qu'un Jeu Vidéo..."
omg est déconnecté   Réponse avec citation
Vieux 06/07/2007, 09h46   #78
Samote
Membre confirmé
 
Date d'inscription: 12/01/2006
Localisation: Terre
Messages: 434
Par défaut

On fait comment alors pour l'utiliser sur ds ?
__________________
Samote est déconnecté   Réponse avec citation
Vieux 06/07/2007, 09h53   #79
omg
Modérateur
 
Date d'inscription: 10/11/2005
Localisation: Mad Monster Mansion
Messages: 3 755
Par défaut

Très bonne question!
__________________

News GBA/DS:
Portable DEV
Colorer un jeu GB? Débutant - Avancé - Expert
Projets : Banjo Advance - The Last Quest - Klungo's Brain School
Site des jeux : BanjoKazooie.Free.Fr Web Site

FAN FOREVER
"La Vie n'est pas aussi simple qu'un Jeu Vidéo..."
omg est déconnecté   Réponse avec citation
Vieux 06/07/2007, 10h22   #80
Noda
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: à montréal jusqu'au 4 mai, après retour en france ^^
Messages: 570
Par défaut

Citation:
Envoyé par omg Voir le message
Je débute et j'avoue ne pas bien connaitre le bête mais pourtant en tête du topic il y a :
oui le décodeur doit marcher sur la DS car c'est plus ou moins le meme hard, sauf qu'il n'y a aucun intéret à ca sur la DS vu qu'elle gère le ADPCM en hard
__________________
http://nodadev.wordpress.com
Noda est déconnecté   Réponse avec citation
Vieux 06/07/2007, 11h58   #81
omg
Modérateur
 
Date d'inscription: 10/11/2005
Localisation: Mad Monster Mansion
Messages: 3 755
Par défaut

Je vais un peu regarder tout ça de plus prêt...
Sinon Noda c'est ce que tu utilise sur ton Tower Defense?
__________________

News GBA/DS:
Portable DEV
Colorer un jeu GB? Débutant - Avancé - Expert
Projets : Banjo Advance - The Last Quest - Klungo's Brain School
Site des jeux : BanjoKazooie.Free.Fr Web Site

FAN FOREVER
"La Vie n'est pas aussi simple qu'un Jeu Vidéo..."
omg est déconnecté   Réponse avec citation
Vieux 09/07/2007, 10h37   #82
Noda
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: à montréal jusqu'au 4 mai, après retour en france ^^
Messages: 570
Par défaut

Oui, dans mon tower defense actuellement tous les sons sont en ADPCM
__________________
http://nodadev.wordpress.com
Noda est déconnecté   Réponse avec citation
Vieux 09/07/2007, 12h31   #83
omg
Modérateur
 
Date d'inscription: 10/11/2005
Localisation: Mad Monster Mansion
Messages: 3 755
Par défaut

Pourrais-tu m'envoyer un morceau de code pour me dépatouiller?
__________________

News GBA/DS:
Portable DEV
Colorer un jeu GB? Débutant - Avancé - Expert
Projets : Banjo Advance - The Last Quest - Klungo's Brain School
Site des jeux : BanjoKazooie.Free.Fr Web Site

FAN FOREVER
"La Vie n'est pas aussi simple qu'un Jeu Vidéo..."
omg est déconnecté   Réponse avec citation
Vieux 09/07/2007, 13h06   #84
Samote
Membre confirmé
 
Date d'inscription: 12/01/2006
Localisation: Terre
Messages: 434
Par défaut

Ou le poster ici ?
__________________
Samote est déconnecté   Réponse avec citation
Vieux 09/07/2007, 15h47   #85
thoduv
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: ...
Messages: 1 464
Par défaut

Citation:
Envoyé par Noda Voir le message
oui le décodeur doit marcher sur la DS car c'est plus ou moins le meme hard
Là je t'arrête direct: le hard sonore est complètement différent (beaucoup plus facile à utiliser), donc à moins de faire de grosses modifs (qui consistent à ne garder que la partie "décodeur" du lecteur, il n'est pas compatible NDS.
Mais de toutes façon ca ne servirait strictement à rien puisque comme tu l'a dit la DS gère l'ADPCM en hard, il suffit de sélectionner le format IMA-ADPCM dans le registre de canal. Je n'ai pas encore essayé, mais je pense que l'encodeur de Nrx est compatible.
Plus d'infos: http://nocash.emubase.de/gbatek.htm#dssound

Voilà
__________________
"S'il n'y a pas de solutions c'est qu'il n'y a pas de problème ..."
< mon devblog > ... < Lapinou Jumps ! - un jeu de plate-forme "vertical" avec un mignon petit lapin. >

Dernière modification par thoduv ; 09/07/2007 à 15h50.
thoduv est déconnecté   Réponse avec citation
Vieux 09/07/2007, 22h28   #86
Nrx
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 277
Par défaut

Tiens, je passe par là et vois que ce topic n'est pas mort ! Je précise qu'effectivement je n'ai fait ce décodeur que pour la GBA... la balise "[NDS|GBA]" dans le sujet a été ajoutée par un modo lors de la mise en place du nouveau format des posts pour les projets, désolé pour la confusion !
Nrx est déconnecté   Réponse avec citation
Vieux 09/07/2007, 22h55   #87
omg
Modérateur
 
Date d'inscription: 10/11/2005
Localisation: Mad Monster Mansion
Messages: 3 755
Par défaut

Oh grand NRX tu es tout escusé!
__________________

News GBA/DS:
Portable DEV
Colorer un jeu GB? Débutant - Avancé - Expert
Projets : Banjo Advance - The Last Quest - Klungo's Brain School
Site des jeux : BanjoKazooie.Free.Fr Web Site

FAN FOREVER
"La Vie n'est pas aussi simple qu'un Jeu Vidéo..."
omg est déconnecté   Réponse avec citation
Vieux 31/03/2008, 03h47   #88
Yodajr
Administrateur
 
Date d'inscription: 09/11/2005
Messages: 3 750
Par défaut

Super détérage pour un topic qui le vaut bien

Déjà super merci à Nrx pour sa lib, elle est super simple d'utilisation et offre une super qualité de son

Bon, moi je vais pas pleurer après le promis réglage de volume (quoique ça peut être vachement utile ), mais plutôt après une possible "pause" de la musique
Donc si Nrx (ou autre hein) passe par là et peut me dire si c'est possible et dans ce cas quoi modifier, ça serait rudement sympa
Yodajr est déconnecté   Réponse avec citation
Vieux 05/04/2008, 22h32   #89
Nrx
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 277
Par défaut

Waoo... ce topic est toujours vivant ?!

Bon, je n'ai pas essayé, mais au vu du code, je dirais que pour mettre une musique en pause tu devrais simplement appeler la méthode "AdpcmStop" (ce qui met le "adpcm.channel[channel]->repeat" à 0, et va donc arrêter la musique au prochain VBL - cf. le test fait au début de la fonction "AdpcmDecodeVbl"). Pour reprendre, il faudrait juste remettre ce "adpcm.channel[channel]->repeat" à la valeur que tu veux (genre "-1" pour un son joué en boucle), sans passer par "AdpcmStart" pour éviter de réinitialiser la musique mais bien continuer de là où tu en étais. Dis-moi si ça marche !

[Edit] Et merci pour ton merci ! Je suis content que cette p'tite lib ait pu être utile !

p.s. : Aussi, désolé pour le non réglage du volume, j'ai jamais trouvé le temps de m'y remettre et de compléter ce lecteur ADPCM . Cela dit, normalement c'est assez simple à faire (cf. ce post), donc si quelqu'un veut essayer...

Dernière modification par Nrx ; 05/04/2008 à 22h42.
Nrx est déconnecté   Réponse avec citation
Vieux 06/04/2008, 15h00   #90
Yodajr
Administrateur
 
Date d'inscription: 09/11/2005
Messages: 3 750
Par défaut

Nan ça n'a pas l'air...

Je lance ma musique : AdpcmStart(&ADPCM_monde1,-1,0);
Je la "pause" : AdpcmStop(0);
Puis je la relance : adpcm.channel[0]->repeat = -1;

Mais là silence durant à peu près le temps de la musique, puis elle repart... un peu comme si elle avait bien repris, mais en sourdine
Yodajr est déconnecté   Réponse avec citation
Vieux 06/04/2008, 17h04   #91
Nrx
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 277
Par défaut

Heuuu... c'est bizarre ça
A moins que... ton son est en ADPCM ou pas ? Si la musique n'est pas compressée, alors effectivement ça ne doit pas marcher car dans ce cas on ne réinitialise pas le DMA et le timer lorsqu'on modifie le "repeat". Dans ce cas précis, il faudrait à priori faire :
Code:
// Set the DMA
AdpcmSafeSetDma(&DMA[channel],(unsigned long)channelPointer->inputData);

// Enable the timer
TM[channel].CNT_H=(0<<0)| // Prescalar Selection Setting #0 => System clock (16.78MHz)
                  (1<<7); // Timer Operation Flag = Enable
Par contre, je ne vois pas ce qui peut clocher si le son est compressé
Nrx est déconnecté   Réponse avec citation
Vieux 06/04/2008, 17h46   #92
Yodajr
Administrateur
 
Date d'inscription: 09/11/2005
Messages: 3 750
Par défaut

Oui, mes musiques ne sont pas compressées, mais je ne comprend pas ce que tu demande d'ajouter...
C'est juste avant la réinit du "repeat" ?
Et c'est quoi (unsigned long)channelPointer->inputData ? (par exemple dans mon cas)

Merci en tout cas de t'y intéresser
Yodajr est déconnecté   Réponse avec citation
Vieux 07/04/2008, 13h59   #93
Nrx
Membre confirmé
 
Date d'inscription: 10/11/2005
Messages: 277
Par défaut

Hum - oui, désolé de ne pas avoir été plus clair.

Concrètement, je ferais les modifications suivantes :
Code:
typedef struct
{
   ...
   signed char repeat;
   signed char pause;
   ...
}
Channel;

////////////////
// AdpcmStart //
////////////////
unsigned char AdpcmStart(const Sound* sound,signed char repeat,unsigned char channel)
{
   ...
   // Set the "repeat" so that the sound will be activated during the next VBL
   channelPointer->repeat=repeat;
   channelPointer->pause=0;
   ...
}
...et ajouterais la méthode "AdpcmPause" pour facilement gérer le machin (méthode à appeler une première fois pour mettre la musique en pause, et à rappeler une seconde fois pour qu'elle redémarre) :
Code:
////////////////
// AdpcmPause //
////////////////
unsigned char AdpcmPause(unsigned char channel)
{
   Channel* channelPointer;

   // Check the channel
   if(channel>=adpcm.numberChannels)
      return(1);
   channelPointer=adpcm.channel[channel];

   // Check whether the sound is currently being played
   if(channelPointer->repeat)
   {
      // Take note of the play mode
      channelPointer->pause=channelPointer->repeat;

      // Stop the sound (it will actually be stopped during the next VBL)
      channelPointer->repeat=0;
   }
   else if(channelPointer->pause)
   {
      // Is it a simple (uncompressed) wave file?
      if(channelPointer->noCompress)
      {
         // Restart the sound; first set the DMA
         AdpcmSafeSetDma(&DMA[channel],(unsigned long)channelPointer->inputData);

         // Enable the timer
         TM[channel].CNT_H=(0<<0)| // Prescalar Selection Setting #0 => System clock (16.78MHz)
                           (1<<7); // Timer Operation Flag = Enable
      }

      // Restore the "repeat" so that the sound will be activated during the next VBL
      channelPointer->repeat=channelPointer->pause;
   }

   // It looks ok!
   return(0);
}
Note : Attention, je n'ai pas du tout testé et ne garantie donc pas que ça marche ! (m'enfin, ça ne doit pas être loin de la solution) Tiens moi au courant !
Nrx est déconnecté   Réponse avec citation
Vieux 07/04/2008, 14h10   #94
omg
Modérateur
 
Date d'inscription: 10/11/2005
Localisation: Mad Monster Mansion
Messages: 3 755
Par défaut

hu hu ça m'intéresse grandement tout chat!
__________________

News GBA/DS:
Portable DEV
Colorer un jeu GB? Débutant - Avancé - Expert
Projets : Banjo Advance - The Last Quest - Klungo's Brain School
Site des jeux : BanjoKazooie.Free.Fr Web Site

FAN FOREVER
"La Vie n'est pas aussi simple qu'un Jeu Vidéo..."
omg est déconnecté   Réponse avec citation
Vieux 07/04/2008, 21h51   #95
Yodajr
Administrateur
 
Date d'inscription: 09/11/2005
Messages: 3 750
Par défaut

Yes ! impeccable, ça marche nickel, merci

Reste plus qu'a regarder le volume, je testerais des trucs et reviendrais t'embêter si j'y arrive pas

Pour les feignants, les fichiers modifiés afin d'y intégrer la pause :
Fichiers attachés
Type de fichier : zip Adpcm_070408.zip (4,3 Ko, 723 affichages)
Yodajr est déconnecté   Réponse avec citation
Réponse

Liens sociaux

Publicité



Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s))
 
Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 06h03.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone
Design par Ass-Itch, DJP et Dr.Vince