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.
main.cpp
00001 #include "mbed.h" 00002 #include "Graphics.h" 00003 #include "Cuboid.h" 00004 #include "TrimeshObject.h" 00005 #include "TieFighter.h" 00006 #include "PluckedGuitar.h" 00007 #include "Synth.h" 00008 00009 Graphics g(5, 6, 7, 8, 9); 00010 TrimeshObject tf(tie_fighter_vertices, tie_fighter_faces, TIE_FIGHTER_NUM_FACES); 00011 Synth s(18); 00012 00013 void fly_me_to_the_moon(Synth *s) { 00014 //Fly me to the moon 00015 s->add_note(NOTE_C5, 1.5); 00016 s->add_note(NOTE_B4, 0.5); 00017 s->add_note(NOTE_A4, 0.5); 00018 s->add_note(NOTE_G4, 0.5); 00019 00020 s->add_note(NOTE_F4, 1.5); 00021 s->add_note(NOTE_G4, 0.5); 00022 s->add_note(NOTE_A4, 0.5); 00023 s->add_note(NOTE_C5, 0.5); 00024 00025 s->add_note(NOTE_B4, 1.5); 00026 s->add_note(NOTE_A4, 0.5); 00027 s->add_note(NOTE_G4, 0.5); 00028 s->add_note(NOTE_F4, 0.5); 00029 00030 s->add_note(NOTE_E4, 3); 00031 00032 s->add_note(NOTE_A4, 1.5); 00033 s->add_note(NOTE_G4, 0.5); 00034 s->add_note(NOTE_F4, 0.5); 00035 s->add_note(NOTE_E4, 0.5); 00036 00037 s->add_note(NOTE_D4, 1.5); 00038 s->add_note(NOTE_E4, 0.5); 00039 s->add_note(NOTE_F4, 0.5); 00040 s->add_note(NOTE_A4, 0.5); 00041 00042 s->add_note(NOTE_A_FLAT4, 1.5); 00043 s->add_note(NOTE_F4, 0.5); 00044 s->add_note(NOTE_E4, 0.5); 00045 s->add_note(NOTE_D4, 0.5); 00046 00047 s->add_note(NOTE_C4, 2); 00048 s->add_note(NOTE_C_SHARP4, 1); 00049 00050 s->add_note(NOTE_D4, 0.5); 00051 s->add_note(NOTE_A4, 0.5); 00052 s->add_note(NOTE_A4, 3); 00053 s->add_note(NOTE_C5, 1); 00054 s->add_note(NOTE_B4, 1); 00055 00056 s->add_note(NOTE_G4, 5); 00057 s->add_note(NOTE_B3, 1); 00058 00059 s->add_note(NOTE_C4, 0.5); 00060 s->add_note(NOTE_F4, 0.5); 00061 s->add_note(NOTE_F4, 3); 00062 s->add_note(NOTE_A4, 1); 00063 s->add_note(NOTE_G4, 1); 00064 s->add_note(NOTE_F4, 1); 00065 s->add_note(NOTE_E4, 5); 00066 00067 s->add_note(NOTE_C5, 1.5); 00068 s->add_note(NOTE_B4, 0.5); 00069 s->add_note(NOTE_A4, 0.5); 00070 s->add_note(NOTE_G4, 0.5); 00071 00072 s->add_note(NOTE_F4, 1.5); 00073 s->add_note(NOTE_G4, 0.5); 00074 s->add_note(NOTE_A4, 0.5); 00075 s->add_note(NOTE_C5, 0.5); 00076 00077 s->add_note(NOTE_B4, 1.5); 00078 s->add_note(NOTE_A4, 0.5); 00079 s->add_note(NOTE_G4, 0.5); 00080 s->add_note(NOTE_F4, 0.5); 00081 00082 s->add_note(NOTE_E4, 3); 00083 00084 s->add_note(NOTE_A4, 1.5); 00085 s->add_note(NOTE_G4, 0.5); 00086 s->add_note(NOTE_F4, 0.5); 00087 s->add_note(NOTE_E4, 0.5); 00088 00089 s->add_note(NOTE_D4, 1.5); 00090 s->add_note(NOTE_E4, 0.5); 00091 s->add_note(NOTE_F4, 0.5); 00092 s->add_note(NOTE_G4, 0.5); 00093 00094 s->add_note(NOTE_A_FLAT4, 1.5); 00095 s->add_note(NOTE_F4, 0.5); 00096 s->add_note(NOTE_E4, 0.5); 00097 s->add_note(NOTE_D4, 0.5); 00098 00099 s->add_note(NOTE_C4, 2); 00100 s->add_note(NOTE_C_SHARP4, 1); 00101 00102 s->add_note(NOTE_D4, 0.5); 00103 s->add_note(NOTE_A4, 0.5); 00104 s->add_note(NOTE_A4, 3); 00105 s->add_note(NOTE_C5, 1); 00106 s->add_note(NOTE_B4, 1); 00107 00108 s->add_note(NOTE_G4, 5); 00109 s->add_note(NOTE_A_FLAT4, 1); 00110 00111 s->add_note(NOTE_A4, 0.5); 00112 s->add_note(NOTE_C4, 0.5); 00113 s->add_note(NOTE_C4, 3); 00114 s->add_note(NOTE_C4, 1); 00115 s->add_note(NOTE_D4, 1); 00116 00117 s->add_note(NOTE_C4, 3); 00118 } 00119 00120 00121 int main() { 00122 double rotx = 0, roty = 0, rotz = 0; 00123 PluckedGuitar *guitar = new PluckedGuitar(); 00124 s.set_bpm(100); 00125 s.set_instrument(guitar); 00126 fly_me_to_the_moon(&s); 00127 s.play(); 00128 00129 while (1) { 00130 rotx += 0.1; 00131 roty += 0.08; 00132 rotz += 0.05; 00133 00134 tf.rotate(rotx, roty, rotz); 00135 tf.colour(0xffffff); 00136 tf.render(g); 00137 wait(0.02); 00138 g.fill(40, 40, 52, 52, 0x000000); 00139 } 00140 }
Generated on Wed Jul 13 2022 19:02:52 by
1.7.2