Offline
Sweden
cyberic wrote:

@ledfyr I have a question: if I buy a teensyboy from Catskull, do you know if it will be able to send data to the GB too (using the USB port)?
I know I will have to code this, but I am asking if the hardware is supporting this
Thx

I’m sure the Teensyboy/Arduinoboy hardware supports simultaneous MIDI in/out.

LSDJ MIDI out mode doesn’t read any note input currently. It only sends out notes, CC etc.
Maybe the LSDJ rom can be changed to support simultaneous MIDI note in and output, but I think the performance won’t be any good (I suspect the Gameboy CPU will choke).

Did I understand your use case correctly?

Offline
Ledfyr wrote:

Did I understand your use case correctly?

I think so.
Except that I will try to write my own gb software, and to use the teensyboy with it, not with LSDJ ;-)

Offline
Unsubscribe
Ledfyr wrote:
toasterpastries wrote:

Can you elaborate on what the values in this line are? Are these the MIDI CCs that are sent if a custom function (e.g. tempo, chord) is disabled?

byte midiCcNumbers[7] = {1, 2, 3, 7, 10, 11, 12};

The values in that list are the MIDI CC numbers sent when you use the X command in LSDJ.
The four last ones cannot be used since they are overridden by my custom functions (velocity, clock, chords, channel).
The rest (1, 2, 3) can be used to send CC from LSDJ. You can change them if you want other CC numbers.
The second digit in the X command is the scaled CC value (will be multiplied with 8).
If you disable a custom function, then it will work as a regular CC.

Examples
X03  (CC#1 value: 3x8=24)
X12  (CC#2 value: 16)
X2F  (CC#3 value: 127)

would it be possible if you marked the last two zero, it works as a full range cc command with just one value?

Background: i tend to make my melodic channels do mod wheel tweaking of external synths, and drum, single note channels do things like turn on an effect (which would require the multiple cc's, but usually work as +64= on and below equals off).

Offline
Sweden
herr_prof wrote:

would it be possible if you marked the last two zero, it works as a full range cc command with just one value?

Yes, I think that’s possible. If you want to disable the last two custom functions, change these lines like the comment says:

————————————————————
// Only 0-6 can be used. Set to 7 or greater to turn off a function and free up a CC.
#define VELOCITY_CC 3
#define TEMPO_CC 4
#define CHORD_CC 5
#define CHANNEL_CC 6
————————————————————

If you set CHORD_CC and CHANNEL_CC to greater than 7, these custom functions will be unavailable and the LSDJ commands X5_ and X6_ will send CC as usual. The CC# are configured in the midiCcNumbers list.

By default the CC values span the whole range 0-127 in steps of 8. So for your needs, send a value greater than 64 to enable, and less than 64 to disable something. E.g. X59=enable, X57=disable.