What is Arkos Tracker? › Forums › Arkos Tracker forum › General discussion › Son bizarrement grave
- This topic has 7 replies, 2 voices, and was last updated 4 years, 10 months ago by Targhan.
-
AuthorPosts
-
January 27, 2020 at 6:14 pm #29972zisquierParticipant
Hello Targhan !
Bon je suis en train d’essayer de comprendre Arkos Tracker, j’ai fait d’ailleurs 2 streams dessus avec les gens qui m’aidaient sur des trucs. J’ai pas mal avancé surtout grace à l’import MIDI ! Je suis en train de faire un Zelda CPC+ et donc forcement j’ai voulu intégrer du son. C’est chose faites, les soundfx sont ok, et le theme principal “in game” aussi.
Seulement j’ai voulu explorer les subsongs, dans Arkos même aucun souris, j’exporte comme d’habitude avec le player AKG. Et au lieu du ld a,0 on choisit la chanson suivante avec un ld a,1.
Mais c’est comme si le son était genre 4 octaves trop bas et ralentit.
De plus lorsque je souhaite intégrer des arpèges, nickel dans Arkos, mais même soucis à la lecture dans le jeu, et pourtant j’utilise bien de fichier de config d’init .asm généré avec celui de la musique.Bref j’ai tournée en rond toute l’après midi demander à tout le monde, niet … Donc je vient t’emmerder avec çà du coup 🙂
January 28, 2020 at 8:48 am #29973TarghanKeymasterSalut,
Peux-tu m’envoyer le AKS et tes essais assembleurs pour jouer la musique ? Mon contact est dans la rubrique du même nom. Merci !
January 28, 2020 at 12:05 pm #29974zisquierParticipantEt bien écoute après plus de 4h de stream hier soir et avec l’aide de la bande à Siko, on a trouvé ! il y avait 2 nop que le source du playerAKG écrivait dans la partie “stopSoundEffect”.
J’avais mis partout un ld a,4 (reg a pour désigner le n° du SFX à stopper). Ce qui causait un gros bug dans le player. Résolut en faisant :ld c,2 call PLY_AKG_StopSoundEffectFromChannel
Alors j’ai du mal à comprendre car dans ton tuto tu met le reg a :
ld a,0 ;Channel (0-2) call PLY_AKG_StopSoundEffectFromChannel
Car pour sélectionner un n° de sfx c’est le reg a, pour le channel c’est le reg c
mais pour l’arrêter via le channel ce n’est plus le reg c mais le reg a selon l’exemple.
Bref c’est assez confus pour un noob comme moi.Bon le principal c’est que tout soit rentrée dans l’ordre : mes sfx et mes subsongs sont ok, mais c’était vraiment pas simple ! (j’ai aussi découvert que le player “s’agrandissait” quand par exemple on rajoutait dans la musique un effet arpège)
January 28, 2020 at 12:14 pm #29975TarghanKeymasterAhhh, je crois que je comprends. A mon avis tu te trompes ! PLY_AKG_StopSoundEffectFromChannel stoppe le son d’un CANAL, il n’enlève pas le SON désigné par son numéro !!
Tes deux octets qui se retrouvent à 0, c’est parce que dans A, tu mets un numéro de son, donc ça va bousiller deux octets, car dans A, il y a une valeur qui n’est ni 0, 1 ou 2.
Donc, comme dis dans la doc, dans A, 3 valeurs possible : 0, 1 ou 2 (pour canal 1, 2, ou 3).
Peux-tu confirmer ?Par contre, qu’en est-il du bug des subsongs?
January 28, 2020 at 12:16 pm #29976TarghanKeymasterLe player “grandit”, c’est normal, car il est en fait optimisé grace au “player configuration”. Moins tu utilises de features (pitch, arpegges, etc.) et plus le player est petit. Donc si tu ajoutes des choses dans ta musique, le player grandit.
January 28, 2020 at 12:18 pm #29977TarghanKeymasterJ’en rajoute une couche, histoire d’être clair.
“J’avais mis partout un ld a,4 (reg a pour désigner le n° du SFX à stopper)”
Le voilà, le problème. Dans la doc, c’est clairement écrit :
ld a,0 ;Channel (0-2)
Donc valeur de 0 à 2 dans A.Moralité : suivre la doc c’est important :).
Mais surtout, pas la peine de chercher des heures, contacte moi avec un bout de code et je peux t’aider plus rapidement que n’importe qui !
January 28, 2020 at 2:46 pm #29978zisquierParticipantOui j’ai mis le temps, mais comme on désigne le channel par C pour la lecture et que j’ai vu A dans la doc pour stopper le channel du son, alors que A servait en premier lieu à sélectionner un son … tu vois mon embrouille ?
Alors pour le coup les subsongs fonctionnent donc je touche plus à rien ! lol
Actuellement çà fonctionne pour stopper un sfx avec ld c,2 (sachant que j’ai plus haut dans ma routine un xor a, car j’efface un event dans ma boucle, donc A est aussi à zero)
Mais si tu me dit que c’est ld a,2 je vais tester et je te redit.January 28, 2020 at 3:00 pm #29979TarghanKeymaster>Alors pour le coup les subsongs fonctionnent donc je touche plus à rien !
J’aurais voulu en savoir plus. Qu’as-tu changé pour que ça fonctionne ?>Actuellement çà fonctionne pour stopper un sfx avec ld c,2
Non, c’est très grave ! C n’est PAS utilisé. Tu as une valeur de A qui est “fantôme”, c’est-à-dire que tu ne connais pas sa valeur, donc si ça marche, c’est juste un coup de chance ! Et ça pourra très bien planter aléatoirement. Fait comme écrit dans la doc ! En assembleur, ça ne pardonne pas. -
AuthorPosts
- You must be logged in to reply to this topic.