Today was about bug killing. A list of small bugs, inconveniences, and nice-to-haves collected during this project, and it was time to rectify them. Originally, today was supposed to be when the rest of the instrument modules were populated with the same code as module one. To date, all the demonstrations featured one instrument, usually piano, playing by itself or over a drum beat. When the rest of the modules are coded, mistakes will be copied into all five.
Bug 1: The reset command will reset all module's pitch offset, play period, and chords. These variables all have a lot of clicking through with a toggle switch or pushbutton, so getting them back to the starting point is a good idea. Potentiometers could not be reset this way since they need to move physically. The instrument variable was not reset.
Bug 2: When starting, the system would act like it received incoming MIDI data and ignore the potentiometer so anytime the drum machine was not connected, everything was on hold until it timed out after ten seconds.
Bug 3: Another tempo issue was when MIDI was received, it was limited to 1/8 speed up to 8x speed, but after adding the 10% to 90% chance to play a note, it made more sense to allow the tempo to play 1/10 rate to 10x.
Bug 4: The pitch offset in the instrument module allowed natural numbers from 0 to 127. The idea was that the lower limit set by the central controller was absolute so nothing could be lower, but that seemed unnecessarily restrictive. The limits changed to go from -115 to 115.
Bug 5: The time offset in the module code had been removed or ignored. Testing this earlier suggested as much but sensing the millisecond difference didn't seem feasible. After looking at the algorithm, it was obvious, and the fix was easy to hear, especially at a low tempo.
The rest of the posts for this project have been arranged by date.
First time here?
Completed projects from year 1
Completed projects from year 2
Completed projects from year 3
Completed projects from year 4
Completed projects from year 5
Completed projects from year 6
Disclaimer for http://24hourengineer.blogspot.com and 24HourEngineer.com
This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.
All information in this blog, or linked by this blog, is not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property, or similar, is the responsibility of those involved in the replication.
All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by Brian McEvoy, cannot be used to claim property or assets.
Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim property or assets based on their post.
This blog, including pictures and text, is copyright to Brian McEvoy.
2019-05-28
Bug 1: The reset command will reset all module's pitch offset, play period, and chords. These variables all have a lot of clicking through with a toggle switch or pushbutton, so getting them back to the starting point is a good idea. Potentiometers could not be reset this way since they need to move physically. The instrument variable was not reset.
Bug 2: When starting, the system would act like it received incoming MIDI data and ignore the potentiometer so anytime the drum machine was not connected, everything was on hold until it timed out after ten seconds.
Bug 3: Another tempo issue was when MIDI was received, it was limited to 1/8 speed up to 8x speed, but after adding the 10% to 90% chance to play a note, it made more sense to allow the tempo to play 1/10 rate to 10x.
Bug 4: The pitch offset in the instrument module allowed natural numbers from 0 to 127. The idea was that the lower limit set by the central controller was absolute so nothing could be lower, but that seemed unnecessarily restrictive. The limits changed to go from -115 to 115.
Bug 5: The time offset in the module code had been removed or ignored. Testing this earlier suggested as much but sensing the millisecond difference didn't seem feasible. After looking at the algorithm, it was obvious, and the fix was easy to hear, especially at a low tempo.
Bug list on scratch paper
The rest of the posts for this project have been arranged by date.
First time here?
Completed projects from year 1
Completed projects from year 2
Completed projects from year 3
Completed projects from year 4
Completed projects from year 5
Completed projects from year 6
Disclaimer for http://24hourengineer.blogspot.com and 24HourEngineer.com
This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.
All information in this blog, or linked by this blog, is not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property, or similar, is the responsibility of those involved in the replication.
All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by Brian McEvoy, cannot be used to claim property or assets.
Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim property or assets based on their post.
This blog, including pictures and text, is copyright to Brian McEvoy.
2019-05-28
Comments
Post a Comment