-
Posts
15,246 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Posts posted by TK.
-
-
Ok, LEDs now lit according to the gatelength. :smile:
I spent some more thoughts on this: actually it's better if the entire sequence is cleared with CLEAR+SEQ1 resp. CLEAR+SEQ2.
And the GP buttons just clear the related track without hidden conventions (e.g. it wasn't obvious that GP#4 only clears PitchBend).
In combination with a changed CC line assignment algorithm the CC Clear function finally becomes more useful:
o CLEAR button now allows to clear individual tracks with the GP buttons: - CLEAR+SEQ1: clear entire Seq1 + configuration (*) - CLEAR+SEQ2: clear entire Seq2 + configuration (*) - CLEAR+GP1: clear note triggers (values are kept but not played) - CLEAR+GP2: reset velocity values to 64 - CLEAR+GP3: reset note length values to half step - CLEAR+GP4: clear Track 4 (Pitchbend + last CC lines) - CLEAR+GP5: clear CCs of Track 5 - CLEAR+GP6: clear CCs of Track 6 - CLEAR+GP7: clear CCs of Track 7 - CLEAR+GP8: clear CCs of Track 8 Same for GP9..16 for Seq2 (*) track configuration won't be changed if 'PasteClrAll' set to 0 in MBSEQ_GC.V4 file o changed the track and layer assignment algorithm for CCs in recording mode: Previously new CC lines were recorded into Track 4, Layer B upwards. Now they are assigned the following way: - 1st CC line is recorded into Track 5, Layer A - 2nd CC line is recorded into Track 6, Layer A - 3rd CC line is recorded into Track 7, Layer A - 4th CC line is recorded into Track 8, Layer A - 5th CC line is recorded into Track 8, Layer B - 6th CC line is recorded into Track 8, Layer C - 7th CC line is recorded into Track 8, Layer D - 8th CC line is recorded into Track 7, Layer B - 9th CC line is recorded into Track 7, Layer C - 10th CC line is recorded into Track 7, Layer D - 11th CC line is recorded into Track 6, Layer B - 12th CC line is recorded into Track 6, Layer C - 13th CC line is recorded into Track 6, Layer D - 14th CC line is recorded into Track 5, Layer B - 15th CC line is recorded into Track 5, Layer C - 16th CC line is recorded into Track 5, Layer D - 17th CC line is recorded into Track 4, Layer B - 18th CC line is recorded into Track 4, Layer C - 19th CC line is recorded into Track 4, Layer D Same for Track 12..16 for Seq2 Advantage: if only a few CC lines are recorded, we've dedicated tracks for PitchBend and CCs (Track 4-8, Layer A) which can be individually muted and cleared. Additional CCs populate the remaining layers from Track 8 backwards, so that PitchBend remains an individual track if not more than 17 CC lines are recorded.
The new pre-release is available at:
http://www.ucapps.de/mios32/midibox_seq_v4l_082_pre3.zip
/Update: v4l_082_pre3 provides a better Seq1/2 selection handling whenever a track is cleared
Best Regards, Thorsten.
-
no, but I take this as a reminder...
Best Regards, Thorsten.
-
Da muessen aber noch viel mehr Probleme geloest werden, nicht nur ein lokales Stop/Play... ;-)
Hast Du Dir schonmal dieses Projekt angesehen? -> http://midisizer.com/midirex/
Gruss, Thorsten.
-
Hi Jazza,
It's sad to read that a MIDIbox builder died! Do you know his forum name?
It seems that there is a problem with your MIDI interface, because SysEx messages are corrupted.
Is it already listed here? -> http://www.midibox.org/dokuwiki/doku.php?id=midi_interface_blacklist
Do you own an alternative MIDI interface?
Best Regards, Thorsten.
-
Well, if you see the AINSER menu item, you can already use the AINSER8 module.
Disadvantage: one pot movement will generate 8 MIDI events instead of only 1 (because the analog input is not multiplexed).
The 7 redundant MIDI events can be disabled by clearing all MIDI port flags (USB1..4, OUT1..4, OSC1..4)
However, if you are saying, that no MIDI events are generated at all, there is either a connection or a software configuration problem.
It's very difficult to support you on such an issue remotely if you are not able to use MIOS Studio; and I can't help you on Linux issues!
If you would be able to use MIOS Studio, you could just follow the testing procedure under: http://www.ucapps.de/mbhp_ainser8.html
Your observations with the ainser_jitter_mon application would make it much easier to give additional debugging hints...
Best Regards, Thorsten.
-
Hi Florian,
somehow I already feared that this can lead to confusion: the GP button assignments are similar to the MUTE page: button #1..#8 control Seq1, and button #9..16 control Seq2 independent from the selected sequence.
Advantage: direct control over both sequences without switching
Disadvantage: unusual/inconsistent UI handling
It's probably better if I decouple the UI from the actual track & layer assignments (which are inherited from the "big brother" V4):
- button assignments in CLEAR and MUTE page shall reflect the sequence selection, starting from button #1
- button assignments shall differ between Pitchbend and CC layers in track #4..7, which means that:
o Button #1 clears/mutes note triggers
o Button #2 resets velocity (mutes have same function like Button #1: no notes are played)
o Button #3 resets note length (mutes have same function like Button #1: no notes are played)
o Button #4 clears/mutes the Pitchbend lineo Button #5 clears/mutes the first recorded CC lineo Button #6 clears/mutes the second recorded CC lineo ...o Button #15 clears/mutes the 11th recorded CC lineo Button #16 mutes the remaining CC lines in MUTE page, resp. it initializes the whole sequence & configuration in CLEAR pageDo you agree, and/or do you have additional ideas?Best Regards, Thorsten. -
This is the default configuration: http://svnmios.midibox.org/filedetails.php?repname=svn.mios&path=%2Ftrunk%2Ftools%2Fmk_syx%2Fmidibox64.ini
And with the default LED_MAP the LEDs should reflect the state of the buttons.
Best Regards, Thorsten.
-
It seems that I've to re-adjust the prefetch time which ensures a proper synchronization.
It's the most timing critical operation, because a lot of data has to be loaded from SD card while MIDI notes from previous patterns are played by the scheduler.
Since the problem happens at the 7th song, it indicates that some additional FAT32 table read operations take place which cause a delay which I haven't considered yet.
Could you please create a minimal session which allows me to reproduce this issue at my side for further analysis?
Best Regards, Thorsten.
-
I looked at the code in the cs_menu.inc and i see there are quite a few steps going on to get a value and print it.
and even more steps are required to implement alternative solutions, especially for somebody who has no access to the hardware extension you have in mind.
The assembly based implementation makes it even more difficult to add extensions w/o extensive testing!
So: please don't expect support from my side, there are more interesting projects in the queue :)
Best Regards, Thorsten.
-
TK's got me digging into the code and I must say that it is as beautiful on the inside as it is on the outside!
Thanks for the compliment! :)
Hopefully I will get some time to doublecheck the most recent Lemur version at my side this weekend.
Best Regards, Thorsten.
-
Based on your screenshot: https://www.flickr.com/photos/68202862@N03/13710200005/
Change:
0110 = HS-PLL enabled freq=4xFosc1
Disable LVP
Disable PORTB = analog input
All ID bytes have to be programmed with 00
Best Regards, Thorsten.
-
Ok, it won't work with a 1:1 connection
Best Regards, Thorsten.
-
In meinem Setup (_tk.asm) habe ich noch zusaetzlich ein AOUT_NG Interface aktiviert, deshalb wird mehr Speicher verbraucht und es kommt abermals zu einem Overrun.
Doch eigentlich war das File nur fuer meine eigene MIDIbox FM relevant - "war", weil ich ja mittlerweile den PIC18F452 durch einen PIC18F4685 ersetzt habe, und das setup_pic18f4685_mbfm_tk.hex file verwende, so dass es keine Speicherprobleme mehr gibt, und noch weitere (sehr schoene) Features freigeschaltet werden konnten.
Gruss, Thorsten.
-
For all the grounds on the gate jacks should I tie them all together (bus) or run seperate? Should I do the same for the cv jacks?
Yes, tie them together and connect a single ground wire to a central ground terminal, e.g. at J2:Vs
Best Regards, Thorsten.
-
MIDIO128 only supports the AINSER64 and not the AINSER8 module.
So, currently it won't be possible to use the AINSER8 module properly.
I added this to the wishlist.
Once a new firmware version is available, you have to update it with MIOS Studio.
So, use the time to find a solution for this (e.g. by booting a different Linux version, or by using a different PC)
Best Regards, Thorsten.
-
Or is this simply impossible because the osc-envelopes are inside the sid and not generated by the software?
Yes, (unfortunately) the OSC ADSRs are hardware implemented in the SID chip and can't be emulated via SW - this would solve many things, especially the infamous ADSR bug...
Best Regards, Thorsten.
-
daran liegt es leider nicht, ist genau die gleiche Version, welche ich schon drauf hatte. Hab´s trotzdem nochmal versucht, leider ohne Erfolg.
Hast Du es auch mit dem .hex File aus dem neuen .zip Package versucht, das ich heute generiert habe?
Die Versionsnummer ist gleich geblieben, da sich an der Firmware selbst nichts geaendert hat.
Ich glaube langsam, es liegt daran, wie in den MIDI-Troubleshootings ganz am Ende geschrieben wird, das mein Brennprogramm den Bootloader nicht richtig brennt und deswegen nicht alles von MIOS beschrieben werden kann.Nein, daran liegt es nicht, denn der Upload funktioniert ja.
Dass er bei 98% abbricht hat eine andere Ursache, die mit dem neuen .hex File eigentlich behoben sein sollte.
Welches .hex File aus dem Package laedst Du auf?
Bzw. generierst Du Dir ein eigenes .hex file? (bspw. nach einer Konfigurationsaenderung?)
Gruss, Thorsten.
-
This is a great idea! :smile:
Please try this pre-release: http://www.ucapps.de/mios32/midibox_seq_v4l_082_pre1.zip
Button assignments:
o CLEAR button now allows to clear individual tracks with the GP buttons: - CLEAR+GP1: clear note triggers (values are kept but not played) - CLEAR+GP2: reset velocity values to 64 - CLEAR+GP3: reset note length values to half step - CLEAR+GP4: clear Pitchbend - CLEAR+GP5: clear all CCs - CLEAR+GP6: clear Seq1 + track configuration (*) (like before) - CLEAR+GP7: like GP6, could be used for other purposes in future - CLEAR+GP8: like GP6, could be used for other purposes in future Same for GP9..16 for Seq2 (*) track configuration won't be changed if 'PasteClrAll' set to 0 in MBSEQ_GC.V4 file
As long as the CLEAR button is pressed, the LEDs act as some kind of "track activity indicators" to notify the special function, and to give an oversight about the track utilization.
Unfortunately the clear functions of GP#4...8 resp. GP#12..16 conflict with the activity monitor.
E.g. track 4/12 not only store the pitchbender, but also the first 3 CC lines.
Track 5..8/13..16 store the additional CC lines (4 per track).
But GP button 4/12 will only clear the pitchbender (by intention), and GP button 6..8/14..16 will clear the complete sequence instead the assigned CC lines.
This could be confusing, on the other hand the additional button assignments are more important than a consistent display.
With some dirty patches in the seq core I could improve the activity monitor depending on how important the display capabilities are.
Alternatively, I could change the recording function, so that CCs are not stored in the same track like PitchBend anymore. This would also solve an inconsistency in the mute function (which mutes PB and the first 3 CCs) - a difficult decision.
Best Regards, Thorsten.
-
Additionally, would it help for me to provide +5 voltage to the circuits from an AC or DC power supply (toroidal) to help the current draw?
The current draw isn't that high, because LEDs are time-multiplexed.
A 1A PSU should be enough, this can be delivered from a USB hub based PSU.
but what I am looking to achieve here is a meter 32 leds tall.The firmware doesn't support LED matrices with 32 LED rows, 16 LEDs per row is the limit (and I can't change this anymore due to conceptional reasons).
The reason I ask is because I can place 32 LEDs on one DOUT board. Then, Make the matrix using another DOUT board giving me 1,024 LEDs, in theory.It isn't a good idea to construct a matrix this way (and similar to the 16 LEDs per row max limit, also the column selection lines are limited to 16 for good reasons).
E.g. if a matrix has 8 selection lines (as proposed above), each LED row will display a pattern for 12.5% of the reload period.
With 16 selection lines (possible, but not so bright anymore), each LED row will display a pattern for only 6.25% of the reload period anymore. The pattern is still visible, but it's very dimmed.
With 32 selection lines (your idea...), each LED row will display a pattern for only 3.125% of the reload period. I guess that with such a short duty cycle nothing will be visible anymore!
Instead it's better to use multiple matrices (meanwhile up to 16 matrices are supported) with 8 selection lines each.
Each matrix will require 3 DOUT SRs (one for 8 selection lines, two for the 16 LED pattern)
Best Regards, Thorsten.
-
I'm aware of this issue, but unfortunately the problem has to be solved in Ableton.
Best Regards, Thorsten.
-
Found & fixed the problem - it was related to the midichannel handling.
Could you please try the new version in the repository?
Best Regards, Thorsten.
-
Hallo Lutz,
der Fehler passiert wegen des reduzierten PIC18F452 Speichers - leider wird aufgrund des Abbruchs das interne EEPROM nicht mehr beschrieben, und deshalb ist der Patch leer.
Der Fehler sollte mit dieser Release nicht mehr gemeldet werden: http://www.ucapps.de/mios/midibox_fm_v1_4i.zip
Gruss, Thorsten.
-
Yes, you can change the drum notes in the EVENT page (assumed that the track has been configured for drum mode).
The drum instrument is selected with GP#11, and the note with GP#12
Best Regards, Thorsten.
-
Well, it has been requested that END shouldn't stop the sequencer anymore, and nobody complaint.
If you want to get back the old behavior, you've to rebuild the firmware with following change in seq_song.c:
search for following lines:
case SEQ_SONG_ACTION_End: #if 0 if( song_active ) // not in phrase mode SEQ_BPM_Stop(); #else song_finished = 1; // deactivate song incrementer #endif break;
and replace "#if 0" by "#if 1"
Best Regards, Thorsten.
Lemur BLM
in MIDIbox SEQ
Posted
It's a bug in Lemur!
"<variable> |= <value>" isn't working anymore.
I added a workaround ("<variable> = <variable> | <value>") which solves the issue - patterns are displayed correctly again! :smile:
-> MIDIbox_BLM16x16+X_v1_003.zip for Lemur
Best Regards, Thorsten.