7 years ago
With a file called config-gamebuino.h you can easily configure the library dependent per sketch! To use this feature simply create a file called "config-gamebuino.h" in the root of your sketch folder. After doing so, you will have to restart the arduino IDE to register the change. You will not have to restart it when just modifying config-gamebuino.h, only when creating.
Now, in this file you can do a lot of #define's to configure how certain stuff in the library compiles. Here are the defines, all are optional:
NEW 6 years ago
Ok, so I want to set up 160x128 16 colors high res mode, I made a config-gamebuino.h file in sketch folder, restart IDE and now what I have to write to set that mode ? I wrote something like this in config-gamebuino.h file -
DISPLAY_MODE(DISPLAY_MODE_INDEX);
But this don't work.
And do I have to write something in main code file ?
Thanks for response in advice :).
NEW 6 years ago
delete this xd
NEW 6 years ago
You should share how you did instead, to help the future people having the same question. I won't delete your post ;)
NEW 6 years ago
I mean I did double post so you could delete it :D. I still dont know how to do it tho ! :D.
NEW 6 years ago
Okay I got it, so in file config-gamebuino.h you have to write something like this -
#define DISPLAY_MODE(DISPLAY_MODE_INDEX);
@EDIT
But it stil don't change resolution to high-res 16 color :(. At least in online gamebuino META emulator :<.
NEW 6 years ago
#define DISPLAY_MODE DISPLAY_MODE_INDEX
And, as the post states, be sure to restart the arduino IDE after creating that file
NEW 6 years ago
I did, but still this don't make change in resolution in online gamebuino META emulator :c.
NEW 5 years ago
if i change the samplefreq. SOUND_FREQ
... comes an compile error?
config-gamebuino.h: #define SOUND_FREQ 58472
In file included from /home/makko/Arduino/libraries/Gamebuino_META/src/utility/Sound/Sound.h:28:0, from /home/makko/Arduino/libraries/Gamebuino_META/src/utility/Sound.h:1, from /home/makko/Arduino/libraries/Gamebuino_META/src/Gamebuino-Meta.h:40, from /home/makko/Digger/Digger/Digger.ino:1: /home/makko/Arduino/libraries/Gamebuino_META/src/utility/Sound/Sound_FX.h:70:48: error: non-constant in-class initialization invalid for static member 'Gamebuino_Meta::Sound_Handler_FX::LENGTH_SCALE' static const int32_t LENGTH_SCALE = 441 * 2 / SR_DIVIDER; ^ /home/makko/Arduino/libraries/Gamebuino_META/src/utility/Sound/Sound_FX.h:70:48: error: (an out of class initialization is required) /home/makko/Arduino/libraries/Gamebuino_META/src/utility/Sound/Sound_FX.h:70:48: error: 'Gamebuino_Meta::Sound_Handler_FX::LENGTH_SCALE' cannot be initialized by a non-constant expression when being declared
Steph
5 years ago
The documentation stipulates a maximum frequency of 22050 Hz...
This is weird... since Soru indicates at the same time that the default value of SOUND_FREQ
is 44100...
I must admit that I have trouble understanding....
NEW 5 years ago
The documentation stipulates a maximum frequency of 22050 Hz...
This is weird... since Soru indicates at the same time that the default value of SOUND_FREQ
is 44100...
I must admit that I have trouble understanding....
NEW 5 years ago
Can you try to change that line to say static const int32_t LENGTH_SCALE = SOUND_FREQ / 50;
please?
NEW 5 years ago
Woops, seems the doc is wrong! fixes it
EDIT: wait, the doc is correct. a bitrate of 44100 indicates a max. frequency of 22050, due to a sine wave going up and down, thus factor two difference
NEW 5 years ago
...yes, it compiles then. But the system sounds are now broken or the holy gamebuino crashes (hard error 2).
So i switched back to the default samplerate 44100 and downscaled the waves: 44100*sample/58472
NEW 5 years ago
Hmmm, soru'll have to look into it more, thanks
tikkel
5 years ago
I was looking to play very short sound effects. In MP3 something like that is not because of the compression. The FX function offered me an interesting approach, but unfortunately the samples were all too long in the end. And you can only play one sound at a time. So I take an audio buffer (2D array) and special procedures to prefill the buffer with "square waves". These are then simply played. Works great and takes little CPU time. You can use it to pre-generate all sorts of "old" sounds without load and handle files and play back a little CPU-heavy and several at the same time...
for example (for beginners like me), here I fill the buffer:
int sfx_length[3]; // length of the 3 sfx
byte sfx_buffer[3][3000]; // 2d array as buffer for 3 sfx, must be big enough!
#define SWEEP 0 // sfx 0
// SWEEP
peak=0;
for (i=0,j=0x30; j>0; j--) {
for(k=0;k<j;k++)
sfx_buffer[SWEEP][i++] = peak;
peak = 0 + 255 - peak; // switch between 0 and 255
}
sfx_length[SWEEP] = i;
and play like this:
gb.sound.play( sfx_buffer[SWEEP], sfx_length[SWEEP] );