forked from ahlstromcj/sequencer64
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTODO
More file actions
311 lines (251 loc) · 13.4 KB
/
TODO
File metadata and controls
311 lines (251 loc) · 13.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
To-Do Items
Chris Ahlstrom
2016-12-03 to 2018-10-29
Midi patterns note assignment #170:
matt-bel commented 15 hours ago
Thanks for all again, ill leave here my 12 * 8 (looks really like ableton now
lol!, the only thing its one has to turn off the previous pattern
group, so i have to press 2 button on my nanopad, its boring a little
but i can deal with it!) midi sequencer64.rc conf file with a0 b0 c1
d1 e1 f1 g1 a1 notes:
0 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127] 1 [0 0 0 0 0 0] [1 0 144
23 0 127] [1 0 128 23 0 127]
2 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
3 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
4 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
5 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
6 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
7 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
8 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
9 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
10 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
11 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
12 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
13 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
14 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
15 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
16 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
17 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
18 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
19 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
20 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
21 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
22 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
23 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
24 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
25 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
26 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
27 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
28 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
29 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
30 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
31 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
32 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
33 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
34 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
35 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
36 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
37 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
38 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
39 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
40 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
41 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
42 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
43 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
44 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
45 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
46 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
47 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
48 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
49 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
50 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
51 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
52 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
53 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
54 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
55 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
56 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
57 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
58 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
59 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
60 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
61 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
62 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
63 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
64 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
65 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
66 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
67 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
68 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
69 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
70 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
71 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
72 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
73 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
74 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
75 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
76 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
77 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
78 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
79 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
80 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
81 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
82 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
83 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
84 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
85 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
86 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
87 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
88 [0 0 0 0 0 0] [1 0 144 21 0 127] [1 0 128 21 0 127]
89 [0 0 0 0 0 0] [1 0 144 23 0 127] [1 0 128 23 0 127]
90 [0 0 0 0 0 0] [1 0 144 24 0 127] [1 0 128 24 0 127]
91 [0 0 0 0 0 0] [1 0 144 26 0 127] [1 0 128 26 0 127]
92 [0 0 0 0 0 0] [1 0 144 28 0 127] [1 0 128 28 0 127]
93 [0 0 0 0 0 0] [1 0 144 29 0 127] [1 0 128 29 0 127]
94 [0 0 0 0 0 0] [1 0 144 31 0 127] [1 0 128 31 0 127]
95 [0 0 0 0 0 0] [1 0 144 33 0 127] [1 0 128 33 0 127]
matt-bel commented 13 hours ago •
i mean if i change pattern group by pressing note buttons, i have to turn off
the previous one (the playing one) and turn on the next (next pattern group)
at the same time.
A0 B0 C1 D1 E1 F1 G1 are piano keyboard notes+octave (lecter = note;
number=octave) corresponding to my nanopad buttons.
https://support.keithmcmillen.com/hc/en-us/article_attachments/200973519/midi_note_reference.png
Make fruity more fruity #169:
zwerverinteractive commented 10 days ago
to make the roll more fruity: left-click, hold and horizontal movement should
not draw more notes, this is brush behavior not pencil. odds are you don't
click exactly right immediately. holding control while dragging temp-disables
snap. right-click hold on empty space draws selection-box, should start
erasing notes middle-click,hold and move should scroll roll not resize
selected notes can't resize notes after drawing a couple of them and leave
them unedited (separate issue?)
would love these fixed :D
Debian (and other) Packaging:
- Still need to get a static package to work.
- Refresh the verbatim examples for the "rc" and "usr" files
in the sequencer64-doc project.
Colors:
- Copy/paste does not transfer the colors. Should it?
Build Issues:
- In the Makefiles, "-I..", "-I../include", and "-I../../include" appear
more than once on command lines.
Tempo Track:
- Separate tempo for each pattern (a feature request)? This might be
equivalent to supporting the rarely-implemented SMF 2.
- Provide a key or press to insert a tempo event at current mouse
position in time and tempo-height?
- The sequence draw marker still can get messed up by seqedit, and
mess up the drawing of the tempo track in perfroll.
- The PrCh and Tempo messages group keep swapping locations with the
TimeSig message. Weird! Sad!
midi_container::fill()
m_events.sort()
Modify flag:
- sequence::set_transposable() is called when loading a sequence at
startup. If the flag value is different from the current value
(false?) then sequence::modify() is called, but the perform m_parent
is null, so it does not take effect, which is good in this case
(startup). At that time, we have m_transposable == true, flag = false
(!), and the sequence number is (-1).
- If the velocity of notes is edited in the data panel of seqedit,
the modification is not detected.
- If the main tempo control is modified, the modification is not
detected.
Random bugs:
- JACK MIDI does not auto connect with the JACK connect button is
clicked.
- Clicking the Stop button toggles (!) playback if Space is configured
to both start and stop playback!!
- If the MIDI file has no performance info (triggers), make the
Song/Live button show "Live".
- When recording a short pattern, and holding a note across the
pattern end, the drawing is bad. Probably should just delete such
notes.
- Pressing the keep-queue activates the Q button, but pressing another
key, or the temporary queue key, or changing the current screen set,
does *not* de-activate the keep-queue status.
- Doing "/1" to turn on queueing seems to require "1" to be struck twice.
sequence::set_playing() turns it off. This was due to the "/" key
being defined as both the Slot Shift key and the Queue key. We should
detect duplicates! Sad! Also note that, in the traditional
[keyboard-group] setup, the keys 9, 0, o, l, and p are available.
Kepler34 devotes the "." to the one-shot feature. Where can we put
this, our main keyboard tab is filled! Looks like [extended-keys] is
the only place for "One-Shot Song Record". For the queue key, 'o' is
a good mnemonic choice for "queue on/off".
- Song-recording does not respect the snap setting on muting.
- Song-recording does not respect the queuing feature; the trigger
is created as soon as queuing is turned on.
Rtmidi implementation issues to work out:
- Support for passing along the BPM and PPQN
- At startup time
- When changed in the GUI
- Make the STRIP_MUTES option permanent.
Hot ideas (from GitHub):
- Mute button should be inactive unless there are armed sequences. The
name is a bit misleading. Maybe it should toggle them all on if none
are armed.
- Any way to make playback multicore? The "stress" file maxes out a
core.
- Many more to come. Need a real roadmap Doxygen document.
Puzzles:
- Tooltips are too flickery with unclutter enabled.
- In multi-wid indep mode, when set 1 (second set) is showing in slots 1
and 2, clicking on pattern-slot 0 (pattern 32) in slot 1 toggles only
the pattern in pattern slot 0, but clicking on the same pattern-slot
is the second mainwid slot properly toggles both. Actually, the rule
is that only the one clicked, and the top-right one, toggle. The
reason this happens is that sequence::is_dirty_main() turns off the
flag after the call, so only the current and first sets see the dirty
status (how does the first see it, though?)
- The Shift Key processing of Seq64 is different from Seq24. For
example, implementing Mod Replace with "{" (Shift-[) in Seq24
basically works, but in Seq64 it unmutes all other patterns!
Using a non-shift character seems to work in both, though in Seq64 the
repeat-key rate seems to show up as an mildly annoying jitter.
- Toggle JACK keys does nothing. (What does this even mean? Was I
drunk when I wrote it?)
More issues:
1. Does the Replace/Solo feature work?
a. Hot-key. This does not work until the "keep queue" key is pressed.
Then, pressing the "replace" key and a pattern hot-key simultaneously
queues all the other patterns to turn off at the end of their pattern.
b. The Shift-click works both ways in the patterns panel, but only mutes
(does not unmute, even though the color changes back) in the song editor!
WRONG. IT WORKS in both windows.
2. Why do the two B4 files (GM vs patchless) play at different BPMs?
3. Check logic for playback, menu-disabling, and Menu button.
4. JACK
a. With no JACK transport/MIDI in play, changing BPM control -->
jack_transport_reposition called with a NULL client
jack_transport_reposition(): bad position structure
b. Playback without a client (such as Yoshimi) proceeds fine in ALSA, but
not in JACK. Turns out the reason is:
register_port: JACK error registering port seq64 midi in 0
So, at some point, ...
5. Patterns panel arrow key does not snap to position, it moves a whole snap
position.
6. File / New needs to render the current filename inactive, otherwise
the previous file is overwritten.
x. Features:
a. If in Song Mode, and all patterns end, end the playback as well.
b. A way to place progress-bar at desired location (seq32? kepler34?).
Tests:
- Test the assertion that queuing also works for "groups".
- Test how seq24 handles screen-sets and playback; does it restrict
playing to the current screen-set only?
Active GitHub Issues:
See the "FixLog" file.
Upgrades:
-o, --options:
We want to support app-specific options:
seq64cli:
- daemonize. Need to figure out when to daemonize, and
to what value the current working directory should be
set [e.g. rc().last_used_dir], or do we need another
directory option value?
- file list ?
seq64rtmidi:
- no GUI (daemonize)? :-D
# vim: sw=4 ts=4 wm=4 et ft=sh