Skip to content

Commit a852578

Browse files
Merge pull request #74 from marcel-licence/midi_monitor_example
Prepared midi monitor example
2 parents e7ee773 + 4febce8 commit a852578

File tree

9 files changed

+546
-74
lines changed

9 files changed

+546
-74
lines changed

.github/workflows/compile-sketch.yml

Lines changed: 129 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,20 @@ jobs:
1515
runs-on: ubuntu-latest
1616

1717
strategy:
18+
fail-fast: false
1819
matrix:
1920
fqbn:
2021
- esp32:esp32:esp32
21-
22+
sketch-paths:
23+
- examples/ml_epiano_example
24+
- examples/ml_midi_monitor
25+
- examples/ml_mod_tracker
26+
- examples/ml_synth_basic_example
27+
- examples/ml_synth_fm_example
28+
- examples/ml_synth_multi_saw_example
29+
- examples/ml_synth_organ_example
30+
- examples/ml_synth_pwm_osc_example
31+
- examples/ml_synth_sampler_example
2232
steps:
2333
- name: Checkout repository
2434
uses: actions/checkout@v4
@@ -33,15 +43,7 @@ jobs:
3343
- name: esp32:esp32
3444
source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
3545
version: 2.0.13
36-
sketch-paths: |
37-
- examples/ml_epiano_example
38-
- examples/ml_mod_tracker
39-
- examples/ml_synth_basic_example
40-
- examples/ml_synth_fm_example
41-
- examples/ml_synth_multi_saw_example
42-
- examples/ml_synth_organ_example
43-
- examples/ml_synth_pwm_osc_example
44-
- examples/ml_synth_sampler_example
46+
sketch-paths: ${{ matrix.sketch-paths }}
4547
libraries: |
4648
- source-url: https://github.com/marcel-licence/ML_SynthTools.git
4749
name: ML_SynthTools
@@ -66,9 +68,20 @@ jobs:
6668
runs-on: ubuntu-latest
6769

6870
strategy:
71+
fail-fast: false
6972
matrix:
7073
fqbn:
7174
- esp32:esp32:esp32
75+
sketch-paths:
76+
- examples/ml_epiano_example
77+
#- examples/ml_mod_tracker
78+
- examples/ml_midi_monitor
79+
- examples/ml_synth_basic_example
80+
#- examples/ml_synth_fm_example
81+
#- examples/ml_synth_multi_saw_example
82+
#- examples/ml_synth_organ_example
83+
#- examples/ml_synth_pwm_osc_example
84+
#- examples/ml_synth_sampler_example
7285

7386
steps:
7487
- name: Checkout repository
@@ -84,15 +97,7 @@ jobs:
8497
- name: esp32:esp32
8598
source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
8699
version: 3.0.5
87-
sketch-paths: |
88-
- examples/ml_epiano_example
89-
#- examples/ml_mod_tracker
90-
- examples/ml_synth_basic_example
91-
#- examples/ml_synth_fm_example
92-
#- examples/ml_synth_multi_saw_example
93-
#- examples/ml_synth_organ_example
94-
#- examples/ml_synth_pwm_osc_example
95-
#- examples/ml_synth_sampler_example
100+
sketch-paths: ${{ matrix.sketch-paths }}
96101
libraries: |
97102
- source-url: https://github.com/marcel-licence/ML_SynthTools.git
98103
name: ML_SynthTools
@@ -117,16 +122,26 @@ jobs:
117122
runs-on: ubuntu-latest
118123

119124
strategy:
125+
fail-fast: false
120126
matrix:
121127
fqbn:
122128
- esp8266:esp8266:d1_mini
123-
129+
sketch-paths:
130+
# - examples/ml_epiano_example
131+
# - examples/ml_midi_monitor
132+
- examples/ml_mod_tracker
133+
# - examples/ml_synth_basic_example
134+
# - examples/ml_synth_fm_example
135+
# - examples/ml_synth_multi_saw_example
136+
- examples/ml_synth_organ_example
137+
# - examples/ml_synth_pwm_osc_example
138+
# - examples/ml_synth_sampler_example
124139
steps:
125140
- name: Checkout repository
126141
uses: actions/checkout@v4
127142
with:
128143
submodules: 'true'
129-
144+
130145
- name: Compile sketch
131146
uses: arduino/compile-sketches@v1
132147
with:
@@ -135,15 +150,7 @@ jobs:
135150
- name: esp8266:esp8266
136151
source-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
137152
version: 3.1.2
138-
sketch-paths: |
139-
# - examples/ml_epiano_example
140-
- examples/ml_mod_tracker
141-
# - examples/ml_synth_basic_example
142-
# - examples/ml_synth_fm_example
143-
# - examples/ml_synth_multi_saw_example
144-
- examples/ml_synth_organ_example
145-
# - examples/ml_synth_pwm_osc_example
146-
# - examples/ml_synth_sampler_example
153+
sketch-paths: ${{ matrix.sketch-paths }}
147154
libraries: |
148155
- source-url: https://github.com/marcel-licence/ML_SynthTools.git
149156
name: ML_SynthTools
@@ -162,17 +169,28 @@ jobs:
162169
name: AC101
163170
164171
165-
build_rp2040:
172+
build_rp2040_tinyusb:
166173

167174
name: build rp2040
168175

169176
runs-on: ubuntu-latest
170177

171178
strategy:
179+
fail-fast: false
172180
matrix:
173181
fqbn:
174182
- rp2040:rp2040:rpipico
175-
183+
- rp2040:rp2040:rpipico2
184+
sketch-paths:
185+
- examples/ml_epiano_example
186+
#- examples/ml_midi_monitor
187+
- examples/ml_mod_tracker
188+
- examples/ml_synth_basic_example
189+
#- examples/ml_synth_fm_example
190+
- examples/ml_synth_multi_saw_example
191+
- examples/ml_synth_organ_example
192+
#- examples/ml_synth_pwm_osc_example
193+
- examples/ml_synth_sampler_example
176194
steps:
177195
- name: Checkout repository
178196
uses: actions/checkout@v4
@@ -190,15 +208,61 @@ jobs:
190208
platforms: |
191209
- name: rp2040:rp2040
192210
source-url: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
193-
sketch-paths: |
194-
- examples/ml_epiano_example
195-
- examples/ml_mod_tracker
196-
- examples/ml_synth_basic_example
197-
#- examples/ml_synth_fm_example
198-
- examples/ml_synth_multi_saw_example
199-
- examples/ml_synth_organ_example
200-
#- examples/ml_synth_pwm_osc_example
201-
- examples/ml_synth_sampler_example
211+
sketch-paths: ${{ matrix.sketch-paths }}
212+
libraries: |
213+
- source-url: https://github.com/marcel-licence/ML_SynthTools.git
214+
name: ML_SynthTools
215+
- source-url: https://github.com/marcel-licence/ML_SynthTools_Lib.git
216+
name: ML_SynthTools_Lib
217+
- source-url: https://github.com/adafruit/Adafruit-GFX-Library.git
218+
name: Adafruit_GFX_Library
219+
version: 1.10.10
220+
- source-url: https://github.com/adafruit/Adafruit_SSD1306.git
221+
name: Adafruit_SSD1306
222+
version: 2.4.5
223+
- source-url: https://github.com/adafruit/Adafruit_BusIO.git
224+
name: Adafruit BusIO
225+
version: 1.14.1
226+
- source-url: https://github.com/marcel-licence/AC101.git
227+
name: AC101
228+
- source-url: https://github.com/marcel-licence/ML_SynthTools.git
229+
name: ML_SynthTools
230+
- source-url: https://github.com/FortySevenEffects/arduino_midi_library.git
231+
name: MIDI_Library
232+
version: 5.0.2
233+
234+
build_rp2040:
235+
236+
name: build rp2040
237+
238+
runs-on: ubuntu-latest
239+
240+
strategy:
241+
fail-fast: false
242+
matrix:
243+
fqbn:
244+
- rp2040:rp2040:rpipico
245+
- rp2040:rp2040:rpipico2
246+
sketch-paths:
247+
- examples/ml_midi_monitor
248+
steps:
249+
- name: Checkout repository
250+
uses: actions/checkout@v4
251+
252+
with:
253+
submodules: 'true'
254+
255+
- name: Compile sketch
256+
uses: arduino/compile-sketches@v1
257+
with:
258+
fqbn: ${{ matrix.fqbn }}
259+
# cli-compile-flags: |
260+
# - --build-property
261+
# - "build.usbstack_flags=-DUSE_TINYUSB -I{runtime.platform.path}/libraries/Adafruit_TinyUSB_Arduino/src/arduino"
262+
platforms: |
263+
- name: rp2040:rp2040
264+
source-url: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
265+
sketch-paths: ${{ matrix.sketch-paths }}
202266
libraries: |
203267
- source-url: https://github.com/marcel-licence/ML_SynthTools.git
204268
name: ML_SynthTools
@@ -230,10 +294,20 @@ jobs:
230294
runs-on: ubuntu-latest
231295

232296
strategy:
297+
fail-fast: false
233298
matrix:
234299
fqbn:
235300
- STMicroelectronics:stm32:GenH7
236-
301+
sketch-paths:
302+
- examples/ml_epiano_example
303+
# - examples/ml_midi_monitor
304+
- examples/ml_mod_tracker
305+
- examples/ml_synth_basic_example
306+
- examples/ml_synth_fm_example
307+
- examples/ml_synth_multi_saw_example
308+
- examples/ml_synth_organ_example
309+
- examples/ml_synth_pwm_osc_example
310+
- examples/ml_synth_sampler_example
237311
steps:
238312
- name: Checkout repository
239313
uses: actions/checkout@v4
@@ -248,15 +322,7 @@ jobs:
248322
- name: STMicroelectronics:stm32
249323
- source-url: https://raw.githubusercontent.com/stm32duino/BoardManagerFiles/main/package_stmicroelectronics_index.json
250324
version: 2.0.0
251-
sketch-paths: |
252-
- examples/ml_epiano_example
253-
- examples/ml_mod_tracker
254-
- examples/ml_synth_basic_example
255-
- examples/ml_synth_fm_example
256-
- examples/ml_synth_multi_saw_example
257-
- examples/ml_synth_organ_example
258-
- examples/ml_synth_pwm_osc_example
259-
- examples/ml_synth_sampler_example
325+
sketch-paths: ${{ matrix.sketch-paths }}
260326
libraries: |
261327
- source-url: https://github.com/marcel-licence/ML_SynthTools.git
262328
name: ML_SynthTools
@@ -283,10 +349,20 @@ jobs:
283349
runs-on: ubuntu-latest
284350

285351
strategy:
352+
fail-fast: false
286353
matrix:
287354
fqbn:
288355
- teensy:avr:teensy41
289-
356+
sketch-paths:
357+
#- examples/ml_epiano_example
358+
#- examples/ml_midi_monitor
359+
#- examples/ml_mod_tracker
360+
- examples/ml_synth_basic_example
361+
- examples/ml_synth_fm_example
362+
#- examples/ml_synth_multi_saw_example
363+
#- examples/ml_synth_organ_example
364+
#- examples/ml_synth_pwm_osc_example
365+
#- examples/ml_synth_sampler_example
290366
steps:
291367
- name: Checkout repository
292368
uses: actions/checkout@v4
@@ -301,15 +377,7 @@ jobs:
301377
- name: teensy:avr
302378
source-url: https://www.pjrc.com/teensy/package_teensy_index.json
303379
version: 1.59.0
304-
sketch-paths: |
305-
#- examples/ml_epiano_example
306-
#- examples/ml_mod_tracker
307-
- examples/ml_synth_basic_example
308-
- examples/ml_synth_fm_example
309-
#- examples/ml_synth_multi_saw_example
310-
#- examples/ml_synth_organ_example
311-
#- examples/ml_synth_pwm_osc_example
312-
#- examples/ml_synth_sampler_example
380+
sketch-paths: ${{ matrix.sketch-paths }}
313381
libraries: |
314382
- source-url: https://github.com/marcel-licence/ML_SynthTools.git
315383
name: ML_SynthTools

examples/ml_midi_monitor/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<h1 align="center">ml_midi_monitor</h1>
2+
<h3 align="center">MIDI monitor for MIDI serial hardware testing</h3>
3+
<p align="center">
4+
<img src="img/midi_monitor.jpg" alt="project picture" width="480px" height="270px"><br>
5+
</p>

0 commit comments

Comments
 (0)