Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: fll mbed-rtos mbed
main.cpp
- Committer:
- sierra
- Date:
- 2015-02-17
- Revision:
- 31:2dbed2eea0f2
- Parent:
- 19:1036e651648b
- Child:
- 21:9cc452a67382
- Child:
- 32:fdf9f6fca8a2
File content as of revision 31:2dbed2eea0f2:
#include "mbed.h"
#include "rtos.h"
#include "fll.h"
#include "fllaux.h"
#include "taiko.h"
int main(void)
{
fll_init();
/*
button_t array0[] = {R1, 0};
button_t array1[] = {CIRCLE, 0};
Producer* source0 = new RepeaterSource(array0, sizeof(array0)/sizeof(button_t));
Producer* source1 = new RepeaterSource(array1, sizeof(array1)/sizeof(button_t));
Producer* ss[] = {source0, source1};
Producer* source = new MergeFlow(ss, 2);
*/
note don1 = { Don, 1 };
note don075 = { Don, 0.75 };
note don05 = { Don, 0.5 };
note don025 = { Don, 0.25 };
note un1 = { Un, 1 };
note un05 = { Un, 0.5 };
note ka1 = { Ka, 1 };
note ka05 = { Ka, 0.5 };
note ka025 = { Ka, 0.25 };
note renda3 = { Renda, 3 };
note renda2 = { Renda, 2 };
note dondai05 = { DonDai, 0.5 };
note dondai1 = { DonDai, 1 };
note kadai05 = { KaDai, 0.5 };
note kadai1 = { KaDai, 1 };
/*
// Radetzkymarsch perfect score
note* note_seq[] = {
&don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don1,
&don025, &don025, &don025, &don025, &don05, &don05, &don1, &un05, &don025, &don025,
&don05, &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don025, &don025,
&don05, &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &un05,
&don05, &ka05, &ka05, &un05, &don05, &ka05, &ka05, &un05,
&don05, &ka05, &don05, &ka05, &don1, &un1,
&don05, &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don025, &don025,
&don05, &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &un05,
&don05, &ka05, &ka05, &un05, &don05, &ka05, &ka05, &un05,
&don075, &don025, &don025, &don025, &don025, &don025, &don05, &don05, &don1,
&renda3, &un1,
&renda3, &un1,
&don1, &don075, &don025, &don1, &don1,
&ka05, &ka025, &ka025, &ka05, &don05, &ka05, &ka025, &ka025, &ka1,
&don1, &don075, &don025, &don1, &don1,
&ka05, &ka025, &ka025, &ka05, &don05, &ka05, &ka025, &ka025, &ka05, &don05,
&ka05, &ka025, &ka025, &ka05, &ka025, &ka025, &ka05, &ka025, &ka025, &ka05, &ka025, &ka025,
&ka1, &un1, &un1, &un05, &don025, &don025,
&don05, &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don025, &don025,
&don05, &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &un05,
&don05, &ka05, &ka05, &un05, &don05, &ka05, &ka05, &un05,
&don05, &ka05, &don05, &ka05, &don1, &un1,
&don05, &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don025, &don025,
&don05, &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &un05,
&don05, &ka05, &ka05, &un05, &don05, &ka05, &ka05, &un05,
&don075, &don025, &don025, &don025, &don025, &don025, &don05, &don05, &don1,
// changing tempo?
&don1, &un05, &don05, &don05, &don05, &don05, &don05,
&don05, &ka025, &ka025, &ka05, &ka05, &ka1, &un1,
//
&don1, &ka1, &don05, &don05, &ka1,
&don1, &ka05, &ka05, &don1, &un1,
&don1, &ka05, &ka05, &don025, &don025, &don05, &ka1,
&don1, &ka05, &ka05, &don1, &un1,
&don1, &ka1, &don05, &don05, &ka1,
&don1, &ka05, &ka05, &don1, &un1,
&don1, &ka05, &ka05, &don025, &don025, &don05, &ka1,
&don025, &don025, &don05, &don025, &don025, &don05, &don1, &un1,
//
&don05, &don025, &don025, &don1, &ka05, &ka05, &ka05, &ka05,
&don05, &don025, &don025, &don1, &ka05, &ka05, &ka1,
&don05, &don025, &don025, &don1, &ka05, &ka05, &ka05, &ka05,
&don1, &un05, &don025, &don025, &don1, &un1,
&don1, &ka1, &don05, &don05, &ka1,
&don1, &ka05, &ka05, &don1, &un1,
&don1, &ka05, &ka05, &don025, &don025, &don05, &ka1,
&don025, &don025, &don05, &don025, &don025, &don05, &don1, &un1,
&don05, &don025, &don025, &don1, &ka05, &ka05, &ka05, &ka05,
&don05, &don025, &don025, &don1, &ka05, &ka05, &ka1,
&don05, &don025, &don025, &don1, &ka05, &ka05, &ka05, &ka05,
&don1, &un05, &don025, &don025, &don1, &un1,
&don025, &don025, &don025, &don025, &don05, &ka05, &don025, &don025, &don025, &don025, &don05, &ka05,
&don025, &don025, &don025, &don025, &don05, &ka05, &ka1, &un1,
&don025, &don025, &don025, &don025, &don1, &don025, &don025, &don025, &don025, &don1,
&don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don1,
//
&don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don1,
&don025, &don025, &don025, &don025, &don05, &don05, &don1, &un05, &don025, &don025,
&don05, &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don025, &don025,
&don05, &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &un05,
&don05, &ka05, &ka05, &un05, &don05, &ka05, &ka05, &un05,
&don05, &ka05, &don05, &ka05, &don1, &un1,
&don05, &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don025, &don025,
&don05, &don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &un05,
&don05, &ka05, &ka05, &un05, &don05, &ka05, &ka05, &un05,
&don075, &don025, &don025, &don025, &don025, &don025, &don05, &don05, &don1
};
Producer* source = new TaikoSource(note_seq, sizeof(note_seq)/sizeof(note*), 119.9);
*/
button_t menu_bs[] = {
/*
START, START, START, START, START, START,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
LEFT, LEFT, LEFT, LEFT, LEFT, LEFT,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
*/
CIRCLE, CIRCLE,
};
Producer* menu = new OnetimeSource(menu_bs, sizeof(menu_bs) / sizeof(button_t));
// Koibumi2000
note* note_seq[] = {
&un1, &un1, &un1, &un1,
&un1, &un1, &un05, &dondai05, &un1,
&don05, &don05, &un1, &un1, &un1,
&un1, &un1, &un1, &un1,
&don05, &don05, &un1, &un1, &un1,
&dondai1, &un1, &dondai1, &un1,
//
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don1,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don1,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don1,
&don05, &don05, &ka05, &ka05, &don05, &don05, &ka1,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don1,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don1,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don1,
&don05, &don05, &ka05, &ka05, &don05, &don05, &ka1,
//
&dondai1, &un1, &don025, &don025, &don025, &don025, &don1, //
//
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
&don05, &don05, &ka05, &ka05, &don05, &don05, &ka1,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
&don05, &ka05, &don05, &ka05, &don05, &kadai05, &un1,
//
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
&don05, &ka05, &don05, &ka05, &don05, &kadai05, &kadai05, &kadai05,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
&don05, &ka05, &don05, &ka05, &don025, &don025, &don025, &don025, &don1,
//
&don025, &don025, &don05, &un05, &don025, &don025, &don05, &un05, &dondai1,
&don025, &don025, &don05, &un05, &don025, &don025, &don05, &un05, &dondai1,
&don025, &don025, &don05, &un05, &don025, &don025, &don05, &un05, &kadai1,
&don025, &don025, &don05, &un05, &don025, &don025, &don05, &un05, &kadai1,
&don025, &don025, &don05, &un05, &ka025, &ka025, &ka05, &un05, &dondai1,
&don025, &don025, &don05, &un05, &ka025, &ka025, &ka05, &un05, &dondai1,
&don025, &don025, &don05, &un05, &don025, &don025, &don05, &un05, &kadai1,
&don025, &don025, &don05, &un05, &don025, &don025, &don05, &un05, &kadai1,
//
&don05, &don05, &don1, &don05, &don025, &don025, &don05, &don05,
&don05, &don05, &don1, &don05, &don025, &don025, &don05, &don05,
&don05, &don05, &don1, &don05, &don025, &don025, &don05, &don05,
&don05, &don025, &don025, &don05, &don05, &don05, &don025, &don025, &don05, &don05,
&don05, &ka05, &don05, &ka05, &don05, &don025, &don025, &don05, &don05,
&don05, &ka05, &don05, &ka05, &don05, &don025, &don025, &don05, &don05,
&don05, &ka05, &don05, &ka05, &don05, &don025, &don025, &don05, &ka05,
&don05, &don025, &don025, &don05, &ka05, &don05, &ka025, &ka025, &ka05, &ka05,
//
&don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don05, &don05,
&don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don05, &don05,
&don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don05, &don05,
&don05, &don025, &don025, &don025, &don025, &don05, &don05, &don025, &don025, &don025, &don025,&don05,
&don025, &don025, &don05, &ka05, &ka05, &don025, &don025, &don05, &ka05, &ka05,
&don025, &don025, &don05, &ka05, &ka05, &don025, &don025, &don05, &ka05, &ka05,
&don025, &don025, &don05, &ka05, &ka05, &don025, &don025, &don05, &ka05, &ka05,
&don025, &don025, &don05, &ka025, &ka025, &ka05, &don025, &don025, &don05, &dondai1,
// irregular time
&don05, &don1, &don1, &don1, &don05, &un05, &don05, &don05, &don05, &don1, &don05, &don05,
&un05, &don1, &don1, &don1, &don05, &don05, &don05, &don1, // ?
&don05, &don1, &don1, &don05, &don05, &don05, &un05, &ka025, &ka025, &ka05, &ka025, &ka025, &ka1, &don05, &don05,
&un05, &don1, &don05, &don05, &don05, &un05, &ka025, &ka025, &ka05, &ka025, &ka025, &ka05, &un05,
&don05, &don025, &don025, &don05, &don1, &don1, &ka025, &ka025, &ka05, &ka025, &ka025, &ka05, &don025, &don025, &don1, &don05, &don1, &don1, &don1, &ka025, &ka025, &ka05, &ka025, &ka025, &ka05, &don05, &don05, &don05,
// normal time
&don1, &ka1, &don1, &ka1, &don05, &don05, &ka05, &ka05, &don05, &don05, &ka1,
&don025, &don025, &don05, &ka025, &ka025, &ka05, &don025, &don025, &don05, &ka025, &ka025, &ka05, &don1, &un1, &un05, &don025, &don025, &don05, &don05,
&don1, &ka1, &don1, &ka1, &don05, &don05, &ka05, &ka05, &don05, &don05, &ka1,
&don025, &don025, &don025, &don025, &ka025, &ka025, &ka05, &don025, &don025, &don025, &don025, &ka025, &ka025, &ka05, &don025, &don025, &don025, &don025, &ka025, &ka025, &ka05, &don05, &don05, &don05, &don05,
&don1, &ka1, &don1, &ka1, &dondai1, &kadai1, &dondai1, &kadai1,
&don025, &don025, &don025, &don025, &ka025, &ka025, &ka025, &ka025,
&don025, &don025, &don025, &don025, &ka025, &ka025, &ka025, &ka025,
&don025, &don025, &don025, &don025, &ka025, &ka025, &ka025, &ka025,
&don025, &don025, &don025, &don025, &ka025, &ka025, &ka05,
&renda2, &un05, &don025, &don025, &don1,
// switch (tatsujin)
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
&don05, &ka05, &don05, &ka05, &don05, &ka05, &don05, &ka05,
&don05, &ka05, &don05, &ka05, &don05, &kadai05, &un05, &kadai05,
//
&don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don05, &don05,
&don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don05, &don05,
&don025, &don025, &don05, &don025, &don025, &don05, &don05, &don05, &don05, &don05,
&don05, &don05, &don05, &don05, &don05, &don025, &don025, &don025, &don025, &don05,
//
&don025, &don025, &don05, &ka025, &ka025, &ka05, &don025, &don025, &don05, &ka025, &ka025, &ka05,
&don025, &don025, &don05, &ka025, &ka025, &ka05, &don025, &don025, &don05, &ka025, &ka025, &ka05,
&don025, &don025, &don025, &don025, &ka025, &ka025, &ka025, &ka025, &don025, &don025, &don025, &don025, &ka025, &ka025, &ka025, &ka025,
&don025, &don025, &don05, &ka05, &ka05, &don025, &don025, &don025, &don025, &don05, &ka05,
//
&don025, &don025, &don025, &don025, &ka025, &ka025, &ka05, &don025, &don025, &don025, &don025, &ka025, &ka025, &ka05,
&don025, &don025, &don025, &don025, &ka025, &ka025, &ka05, &don025, &don025, &don025, &don025, &ka025, &ka025, &ka05,
&don025, &don025, &ka025, &ka025, &don025, &don025, &ka025, &ka025, &don025, &don025, &ka025, &ka025, &don025, &don025, &ka025, &ka025,
&don05, &don05, &don05, &don05, &don025, &don025, &don025, &don025, &don025, &don025, &don05,
// irregular time
&don05, &don05, &un05, &don05, &un05, &don05, &un05, &don05, &un05, &don05, &don05, &don05, &don1,
&don05, &don05, &un05, &don05, &un05, &don05, &un05, &don05, &un05, &don05, &don05, &don05, &don1,
// last
&dondai05, &dondai05
};
Producer* taiko = new TaikoSource(note_seq, sizeof(note_seq)/sizeof(note*), 200);
Producer* delayed = new DelayFlow(taiko, 9.0827); // 3.49
Producer* src_seq[] = { menu, delayed };
Producer* source = new SequentialFlow(src_seq, 2);
fll_run(source);
}
