<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[ChipMusic.org - Ledfyr's Arduinoboy MIDI out fork]]></title>
	<link rel="self" href="https://chipmusic.org:80/forums/feed/atom/topic/20224/"/>
	<updated>2018-02-22T20:18:51Z</updated>
	<generator>PunBB</generator>
	<id>https://chipmusic.org/forums/topic/20224/ledfyrs-arduinoboy-midi-out-fork/</id>
		<entry>
			<title type="html"><![CDATA[Re: Ledfyr's Arduinoboy MIDI out fork]]></title>
			<link rel="alternate" href="https://chipmusic.org/forums/post/255594/#p255594"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>herr_prof wrote:</cite><blockquote><p>would it be possible if you marked the last two zero, it works as a full range cc command with just one value?</p></blockquote></div><p>Yes, I think that’s possible. If you want to disable the last two custom functions, change these lines like the comment says:</p><p>————————————————————<br />// Only 0-6 can be used. Set to 7 or greater to turn off a function and free up a CC.<br />#define VELOCITY_CC 3<br />#define TEMPO_CC 4<br />#define CHORD_CC 5<br />#define CHANNEL_CC 6<br />————————————————————</p><p>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.</p><p>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.</p>]]></content>
			<author>
				<name><![CDATA[Ledfyr]]></name>
				<uri>https://chipmusic.org/Ledfyr</uri>
			</author>
			<updated>2018-02-22T20:18:51Z</updated>
			<id>https://chipmusic.org/forums/post/255594/#p255594</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ledfyr's Arduinoboy MIDI out fork]]></title>
			<link rel="alternate" href="https://chipmusic.org/forums/post/255591/#p255591"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ledfyr wrote:</cite><blockquote><div class="quotebox"><cite>toasterpastries wrote:</cite><blockquote><p>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?</p><p>byte midiCcNumbers[7] = {1, 2, 3, 7, 10, 11, 12};</p></blockquote></div><p>The values in that list are the MIDI CC numbers sent when you use the X command in LSDJ.<br />The four last ones cannot be used since they are overridden by my custom functions (velocity, clock, chords, channel).<br />The rest (1, 2, 3) can be used to send CC from LSDJ. You can change them if you want other CC numbers.<br />The second digit in the X command is the scaled CC value (will be multiplied with 8).<br />If you disable a custom function, then it will work as a regular CC.</p><p>Examples<br />X03&nbsp; (CC#1 value: 3x8=24)<br />X12&nbsp; (CC#2 value: 16)<br />X2F&nbsp; (CC#3 value: 127)</p></blockquote></div><p>would it be possible if you marked the last two zero, it works as a full range cc command with just one value?</p><p>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&#039;s, but usually work as +64= on and below equals off).</p>]]></content>
			<author>
				<name><![CDATA[herr_prof]]></name>
				<uri>https://chipmusic.org/herr_prof</uri>
			</author>
			<updated>2018-02-22T19:12:29Z</updated>
			<id>https://chipmusic.org/forums/post/255591/#p255591</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ledfyr's Arduinoboy MIDI out fork]]></title>
			<link rel="alternate" href="https://chipmusic.org/forums/post/255588/#p255588"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ledfyr wrote:</cite><blockquote><p>Did I understand your use case correctly?</p></blockquote></div><p>I think so.<br />Except that I will try to write my own gb software, and to use the teensyboy with it, not with LSDJ ;-)</p>]]></content>
			<author>
				<name><![CDATA[cyberic]]></name>
				<uri>https://chipmusic.org/cyberic</uri>
			</author>
			<updated>2018-02-22T15:17:44Z</updated>
			<id>https://chipmusic.org/forums/post/255588/#p255588</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ledfyr's Arduinoboy MIDI out fork]]></title>
			<link rel="alternate" href="https://chipmusic.org/forums/post/255587/#p255587"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>cyberic wrote:</cite><blockquote><p>@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)?<br />I know I will have to code this, but I am asking if the hardware is supporting this<br />Thx</p></blockquote></div><p>I’m sure the Teensyboy/Arduinoboy hardware supports simultaneous MIDI in/out.</p><p>LSDJ MIDI out mode doesn’t read any note input currently. It only sends out notes, CC etc.<br />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).</p><p>Did I understand your use case correctly?</p>]]></content>
			<author>
				<name><![CDATA[Ledfyr]]></name>
				<uri>https://chipmusic.org/Ledfyr</uri>
			</author>
			<updated>2018-02-22T14:41:59Z</updated>
			<id>https://chipmusic.org/forums/post/255587/#p255587</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ledfyr's Arduinoboy MIDI out fork]]></title>
			<link rel="alternate" href="https://chipmusic.org/forums/post/255582/#p255582"/>
			<content type="html"><![CDATA[<p>@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)?<br />I know I will have to code this, but I am asking if the hardware is supporting this<br />Thx</p>]]></content>
			<author>
				<name><![CDATA[cyberic]]></name>
				<uri>https://chipmusic.org/cyberic</uri>
			</author>
			<updated>2018-02-22T12:45:35Z</updated>
			<id>https://chipmusic.org/forums/post/255582/#p255582</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ledfyr's Arduinoboy MIDI out fork]]></title>
			<link rel="alternate" href="https://chipmusic.org/forums/post/255580/#p255580"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>toasterpastries wrote:</cite><blockquote><p>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?</p><p>byte midiCcNumbers[7] = {1, 2, 3, 7, 10, 11, 12};</p></blockquote></div><p>The values in that list are the MIDI CC numbers sent when you use the X command in LSDJ.<br />The four last ones cannot be used since they are overridden by my custom functions (velocity, clock, chords, channel).<br />The rest (1, 2, 3) can be used to send CC from LSDJ. You can change them if you want other CC numbers.<br />The second digit in the X command is the scaled CC value (will be multiplied with 8).<br />If you disable a custom function, then it will work as a regular CC.</p><p>Examples<br />X03&nbsp; (CC#1 value: 3x8=24)<br />X12&nbsp; (CC#2 value: 16)<br />X2F&nbsp; (CC#3 value: 127)</p>]]></content>
			<author>
				<name><![CDATA[Ledfyr]]></name>
				<uri>https://chipmusic.org/Ledfyr</uri>
			</author>
			<updated>2018-02-22T11:56:34Z</updated>
			<id>https://chipmusic.org/forums/post/255580/#p255580</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ledfyr's Arduinoboy MIDI out fork]]></title>
			<link rel="alternate" href="https://chipmusic.org/forums/post/255576/#p255576"/>
			<content type="html"><![CDATA[<p>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?</p><p>byte midiCcNumbers[7] = {1, 2, 3, 7, 10, 11, 12};</p>]]></content>
			<author>
				<name><![CDATA[toasterpastries]]></name>
				<uri>https://chipmusic.org/toasterpastries</uri>
			</author>
			<updated>2018-02-22T02:18:13Z</updated>
			<id>https://chipmusic.org/forums/post/255576/#p255576</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ledfyr's Arduinoboy MIDI out fork]]></title>
			<link rel="alternate" href="https://chipmusic.org/forums/post/255364/#p255364"/>
			<content type="html"><![CDATA[<p>Now with Teensy support! See readme for details.</p>]]></content>
			<author>
				<name><![CDATA[Ledfyr]]></name>
				<uri>https://chipmusic.org/Ledfyr</uri>
			</author>
			<updated>2018-02-10T23:23:15Z</updated>
			<id>https://chipmusic.org/forums/post/255364/#p255364</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ledfyr's Arduinoboy MIDI out fork]]></title>
			<link rel="alternate" href="https://chipmusic.org/forums/post/254789/#p254789"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>toasterpastries wrote:</cite><blockquote><p>To be honest it&#039;s been at least 2 months since I last tried it so I might be remembering it completely wrong. Thanks for looking into it.</p><p>Also curious about the clock... If I edit MIN_BPM and MAX_BPM, will the values in between scale? Like if I edit it to being 80-140, I&#039;ll end up with smaller steps in tempo?</p></blockquote></div><p>No prob, let me know if you still have issues with killing chords.</p><p>There is no scaling between MIN_BPM and MAX_BPM. These are the bounds for tap tempo (when you ”tap” command X4y every beat) to avoid setting undesired tempos by mistake.<br />MIN_BPM is also used to set tempo the first time you tap X4y like this:<br />tempo = MIN_BPM + y*8</p><p>So use the closest BPM value the first tap and then let the tap tempo function find the perfect BPM by sending X4y a few more times.</p>]]></content>
			<author>
				<name><![CDATA[Ledfyr]]></name>
				<uri>https://chipmusic.org/Ledfyr</uri>
			</author>
			<updated>2017-12-07T18:46:17Z</updated>
			<id>https://chipmusic.org/forums/post/254789/#p254789</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ledfyr's Arduinoboy MIDI out fork]]></title>
			<link rel="alternate" href="https://chipmusic.org/forums/post/254765/#p254765"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ledfyr wrote:</cite><blockquote><p>So sorry @toasterpastries, I have no good explanation why N00 doesn&#039;t work to kill notes/chords for you, it looks like it should work, and it works as expected for me.</p></blockquote></div><p>To be honest it&#039;s been at least 2 months since I last tried it so I might be remembering it completely wrong. Thanks for looking into it.</p><p>Also curious about the clock... If I edit MIN_BPM and MAX_BPM, will the values in between scale? Like if I edit it to being 80-140, I&#039;ll end up with smaller steps in tempo?</p>]]></content>
			<author>
				<name><![CDATA[toasterpastries]]></name>
				<uri>https://chipmusic.org/toasterpastries</uri>
			</author>
			<updated>2017-12-04T23:00:06Z</updated>
			<id>https://chipmusic.org/forums/post/254765/#p254765</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ledfyr's Arduinoboy MIDI out fork]]></title>
			<link rel="alternate" href="https://chipmusic.org/forums/post/254750/#p254750"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>herr_prof wrote:</cite><blockquote><p>n00 sends ALL NOTES off.&nbsp; This is a good way to kill stuck notes, or kill droning notes at the end of a phrase, so I wouldnt mess with its function.</p><p>You should consider making special note functions work at the Fx end of the spectrum, since those are probably less used?</p></blockquote></div><br /><div class="quotebox"><cite>herr_prof wrote:</cite><blockquote><p>I find it useful as a midi command being sent from a lsdj channel status at least.</p><p>Oh I just got an idea, since there arent any aboy modes in your fork, maybe have the pushbutton do a midi panic?</p></blockquote></div><br /><p>It does not look like N00 sends ALL NOTES OFF, and I also think I was wrong with my note ON idea. I checked the code and it looks like N00 just sends a regular note OFF of the previous played note, just like what happens with the K command (but K kills the sound in the GB channel too). If you check the code you see that the only way to send an ALL NOTES OFF is to stop the sequencer (this looks the same in my fork and the original code).<br />So sorry @toasterpastries, I have no good explanation why N00 doesn&#039;t work to kill notes/chords for you, it looks like it should work, and it works as expected for me.</p><p>Regarding using F (or any other existing command): the Fxx command (finetune) does not send any data from the Gameboy to the Arduinoboy, so a modified LSDJ rom would need to be used for this to work.<br />I want to keep my code compatible with the official LSDJ versions, and I don&#039;t know nearly enough about Gameboy development to attempt anything like that.<br />The signals sent from the Gameboy to the Arduionoboy are: start/stop seq, note on/off, CC and program changes.<br />My functions use 4 of the 7 available CC numbers (the X command), so there are still 3 CC numbers available to use normally. Sacrificing a few CCs felt better for me than sacrificing e.g. notes or program changes (though maybe I could live without program changes).<br />Though it would be cool with dedicated commands instead of using up some CC numbers, however much more work is needed for this to happen (it affects both LSDJ and Arduinoboy code).</p><p>I agree that the LED blinking is nice for status and just to see that it&#039;s working, but for me the &quot;simplicity factor&quot; is more important.</p><p>MIDI panic via the pushbutton is a good idea, I can see how this would be a useful function. Personally I use a panic button on my synth when needed, which is very rarely. I&#039;ll keep this in mind.</p>]]></content>
			<author>
				<name><![CDATA[Ledfyr]]></name>
				<uri>https://chipmusic.org/Ledfyr</uri>
			</author>
			<updated>2017-12-03T13:25:58Z</updated>
			<id>https://chipmusic.org/forums/post/254750/#p254750</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ledfyr's Arduinoboy MIDI out fork]]></title>
			<link rel="alternate" href="https://chipmusic.org/forums/post/254743/#p254743"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ledfyr wrote:</cite><blockquote><div class="quotebox"><cite>DSC wrote:</cite><blockquote><p>Curious to why you removed the LED flashing.</p></blockquote></div><p>No real reason apart from keeping it as simple and stripped down as possible. LED flashing can probably be added again without any impact on performance, but I personally like the concept that the Arduino does as little as possible besides handling the precious note sequencing.</p></blockquote></div><p>I find it useful as a midi command being sent from a lsdj channel status at least.</p><p>Oh I just got an idea, since there arent any aboy modes in your fork, maybe have the pushbutton do a midi panic?<br /><a href="https://coolsoft.altervista.org/en/forum/thread/293" target="_blank">https://coolsoft.altervista.org/en/forum/thread/293</a></p>]]></content>
			<author>
				<name><![CDATA[herr_prof]]></name>
				<uri>https://chipmusic.org/herr_prof</uri>
			</author>
			<updated>2017-12-02T16:56:44Z</updated>
			<id>https://chipmusic.org/forums/post/254743/#p254743</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ledfyr's Arduinoboy MIDI out fork]]></title>
			<link rel="alternate" href="https://chipmusic.org/forums/post/254742/#p254742"/>
			<content type="html"><![CDATA[<p>n00 sends ALL NOTES off.&nbsp; This is a good way to kill stuck notes, or kill droning notes at the end of a phrase, so I wouldnt mess with its function.</p><p>You should consider making special note functions work at the Fx end of the spectrum, since those are probably less used?</p>]]></content>
			<author>
				<name><![CDATA[herr_prof]]></name>
				<uri>https://chipmusic.org/herr_prof</uri>
			</author>
			<updated>2017-12-02T16:49:59Z</updated>
			<id>https://chipmusic.org/forums/post/254742/#p254742</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ledfyr's Arduinoboy MIDI out fork]]></title>
			<link rel="alternate" href="https://chipmusic.org/forums/post/254739/#p254739"/>
			<content type="html"><![CDATA[<div class="quotebox"><cite>toasterpastries wrote:</cite><blockquote><p>Ahh just found my issue... I think I was trying to use N00 instead K00 to end the notes using chords.<br />Do you think it would be possible for chords to kill with N00? I&#039;ve been trying to use NOI as a external drum sequencer as well as retaining the original NOI sounds. Using N00 would enable the MIDI notes to be killed without cutting of a longer NOI sound.</p></blockquote></div><p>I tested this on my rig today, N00 actually does kill chords for me. I would guess the reason we get different results is this:<br />N00 generates a MIDI note ON with note value 0. Some synths/drum machines may recognize this as a note OFF, others may see this as the lowest possible note or filter it out as an invalid note.</p><p>If this is correct, I can change so that N00 generates a note OFF instead. Or does anyone use N00 to reach the lowest note? I wouldn&#039;t want to break things. If nobody seems to do that, I&#039;ll probably change this in the next few days.</p>]]></content>
			<author>
				<name><![CDATA[Ledfyr]]></name>
				<uri>https://chipmusic.org/Ledfyr</uri>
			</author>
			<updated>2017-12-02T11:00:08Z</updated>
			<id>https://chipmusic.org/forums/post/254739/#p254739</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ledfyr's Arduinoboy MIDI out fork]]></title>
			<link rel="alternate" href="https://chipmusic.org/forums/post/254735/#p254735"/>
			<content type="html"><![CDATA[<p>Ahh just found my issue... I think I was trying to use N00 instead K00 to end the notes using chords.<br />Do you think it would be possible for chords to kill with N00? I&#039;ve been trying to use NOI as a external drum sequencer as well as retaining the original NOI sounds. Using N00 would enable the MIDI notes to be killed without cutting of a longer NOI sound.</p>]]></content>
			<author>
				<name><![CDATA[toasterpastries]]></name>
				<uri>https://chipmusic.org/toasterpastries</uri>
			</author>
			<updated>2017-12-02T01:53:05Z</updated>
			<id>https://chipmusic.org/forums/post/254735/#p254735</id>
		</entry>
</feed>
