Switch to full style
Libraries, utilities, bootloaders...
Post a reply

Re: GBtracker Alpha 0.0.1

Fri Jun 17, 2016 3:09 pm

Thanks Rodot.
Yes I plan for instrument support. Tracks are already supported :)

Re: GBtracker Alpha 0.0.1

Sat Jun 18, 2016 7:11 am

Really cool, I'll have to give it a try... too bad I don't know how to compose music :(

Re: GBtracker Alpha 0.0.1

Sat Jun 18, 2016 7:44 am

Well i'm not any good with cords and all that either. I always used trackers for making sound effects and tiny melodies. The Mario melody is just copied from a old mod file i had lying around. I think a tracker is very useful even if you don't know how to compose a whole piece of music :)
Don't be sad, we are all the best at something ;)

Re: GBtracker 0.0.6 Alpha

Wed Jan 18, 2017 8:19 pm

Nice work !
could you provide a file ready to import (like the mario theme), or a quick tutorial to help ?
Thanks

Re: GBtracker 0.0.6 Alpha

Tue Jan 24, 2017 2:40 am

Hey Freddy, I have been wanting to check this out for a veeery long time!
Hopefully I´m going to be a free man later this week and can give a go.

A tracker is the best way imho to try music, even if one have no idea about such. :)

Re: GBtracker 0.0.6 Alpha

Sun Mar 12, 2017 8:46 pm

Hey, Awot, I will provide a example for the soon to come 1.0 release. Erico please wait a bit for the new release, it will be a much better experience :)

Re: GBtracker 0.0.6 Alpha

Sun Mar 12, 2017 8:51 pm

Hey Rodot :)
If you see this, is there any good reason to reinit the commands when we play a new pattern?
I would like to keep my commands between patterns, when playing a track. See code below.

Code:
void Sound::playPattern(const uint16_t* pattern, uint8_t channel) {
#if(NUM_CHANNELS > 0)
   if (channel >= NUM_CHANNELS)
      return;
   stopPattern(channel);
   patternData[channel] = (uint16_t*)pattern;
   patternCursor[channel] = 0;
   patternIsPlaying[channel] = true;
   noteVolume[channel] = 9;
   //reinit commands
   volumeSlideStepDuration[channel] = 0;
   arpeggioStepDuration[channel] = 0;
   tremoloStepDuration[channel] = 0;
   //Serial.print("play pattern\n");
#endif
}

Re: GBtracker 0.0.6 Alpha

Tue Mar 14, 2017 12:26 am

While I am not rodot....yes there is a good reason. Patterns should be independent of each other, so that you could just take a pattern and play it anywhere else yielding the exact same result. Thus you need to set all the effects etc. to the defualt value.

Re: GBtracker 0.0.6 Alpha

Wed Mar 15, 2017 2:01 pm

Ok, I see. Maybe we could disable this while playing a track. It would be nice to set a effect in the beginning of a track, and then reset it only when the track ends, or another pattern/track/note is played. Or maybe disable by command??

Code:
void Sound::playPattern(const uint16_t* pattern, uint8_t channel) {
#if(NUM_CHANNELS > 0)
   if (channel >= NUM_CHANNELS)
      return;
   stopPattern(channel);
   patternData[channel] = (uint16_t*)pattern;
   patternCursor[channel] = 0;
   patternIsPlaying[channel] = true;
   if (!trackIsPlaying[channel])
      {
      noteVolume[channel] = 9;
      //reinit commands
      volumeSlideStepDuration[channel] = 0;
      arpeggioStepDuration[channel] = 0;
      tremoloStepDuration[channel] = 0;
      }
   //Serial.print("play pattern\n");
#endif
}

Re: GBtracker 0.0.6 Alpha

Wed Mar 15, 2017 6:10 pm

Again, that would change the entire idea of patterns.
Just place all your setting-commands at the beginning of a pattern, it is only a few bytes and allows for way more flexibility ;)
Post a reply