-
Posts
15,246 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Posts posted by TK.
-
-
Yes, they have to change the octave, since the semitone transpose range only goes from -8..+7
Therefore I added a tricky part which automatically changes the octave and uses a negative semitone value.
The result should be the same, please check this!Best Regards, Thorsten.
-
On 21. März 2016 at 3:42 PM, jjonas said:
However, I also tested Edit Recording mode a bit more, and found (and this is identical to pre5) that while Edit Recording mode does work in Mono/Poly with both SELECT and GP buttons (like I reported back earlier), this happens only when Fwd is 'on'. If Fwd is 'off' and you try to use Edit Recording mode with Poly, only one note gets recorded.
should work now (link to pre8 below(
On 21. März 2016 at 3:42 PM, jjonas said:If divider is doubled (speed halved) for the Guide Track, it will proceed only half-way before forcing pattern change. (See this comment and the next one.)
issue is understood, but change isn't so easy, and will lead to incompatibilities.
The background: the guide track defines the measure length in 16th notes unrelated to the track divider settings
Maybe a proper documentation of this imperfection would help instead of an implementation change?Quote- Muting a track cuts off all playing notes on that track, but muting an individual note layer doesn't do the same for the note that's currently playing in that layer -> hanging notes.
Noticed in the wish list, but a change won't be so easy...
2 hours ago, phillwilson said:Request 1 - F button functions for live record.
did you already try the new BUTTON_RECORD behaviour which has been introduced in pre7?
For me it sounds that it's doing what you've requested
2 hours ago, phillwilson said:2. Request 2 – Transpose tracks being more musically related to the current scale.
Could you please try following pre-release?
-> http://www.ucapps.de/mios32/midibox_seq_v4_091_pre8.zip
The transpose page got a new function >SCALE< which is active when you enter the page.
Octave is controlled with GP2..8, and the semitone (based on the scale) is selected with GP9..16Best Regards, Thorsten.
-
Cooler Button! Haette der eine 3-Wire LED eingebaut, haette ich wirklich einen Verwendungszweck dafuer :)
QuoteAlso verhält sich ein nichtgetriggerter DOUT wie Masse
ja
Gruss, Thorsten.
-
Hi,
thanks for the information!
I'm not planning to move to another core this year, but it's good to follow the progress on the market.
Best Regards, Thorsten.
-
Hallo,
Du koenntest die LED zwischen zwei DOUT Pins anschliessen. Ein DOUT Pin sollte auf 1, der andere auf 0 stehen. So kontrollierst Du die Farbe.
Es waere jedoch besser, wenn Du eine 3-Pin LED nimmst. So koenntest Du die LED auch noch in einer dritten Farbe (Rot+Gruen = Gelb) aufleuchten lassen
Gruss, Thorsten.
-
1 hour ago, jjonas said:
Random gate trigger layer: is the chance 50/50 or something else
yes, the probability is 50:50
Quote- Random value trigger layer: does this randomise all the values in all parameter layers of the step, or just some? Is the random value anything between 0-127, or is the intensity guided somehow?
it will only randomize the note value between -12/12 semitones
QuoteMODE page option 'Sort' for arpeggiator mode: how does it sort the notes? Into an ascending order..?
Yes, in ascending order
QuoteAnd is the unsorted note order the reverseof the play order, i.e. last played note is "number one" in the arpeggiator track notation?
yes
Best Regards, Thorsten.
-
Alright, fine!
DIN/DOUT functions can be alternatively mapped to the IO pins at J10, search for the "J10" keyword in the tutorial
Best Regards, Thorsten.
-
Thanks, this helped!
TRACK1 LED is working again when you add following definitions to your MBSEQ_HW.V4 file:
LED_JAM_LIVE 0 0 LED_JAM_STEP 0 0
With the next version it will also work w/o these extra definitions (LED_JAM_LIVE/STEP will default to 0)
Best Regards, Thorsten.
-
No issues at my side, regardless if I try it with the Wilba or Legacy Frontpanel.
Could you please attach your MBSEQ_HW.V4 file?
(or are you using a file which is released with the installation package?)Best Regards, Thorsten.
-
19 minutes ago, Lamster said:
The 1.019 is metioned here in the NG first steps document http://www.ucapps.de/midibox_ng_manual_fs.html
This page refers to a feature which was introduced with the MIDIbox NG version V1.019 (I added this detail to make it clear)
20 minutes ago, Lamster said:I think more reading and revision is needed on my part while I get my head round the MIOS system. I realised that I can't type anything in the box so forcing single use USB is a problem
commands have to be entered into the special text box under the terminal window
Best Regards, Thorsten.
-
Thanks! Finally the detail that I missed.
Should work with this version:
-> http://www.ucapps.de/mios32/midibox_seq_v4_091_pre7.zipBest Regards, Thorsten.
-
-
Hi,
Bootloader V1.018 is fine, where did you find the hint that V1.019 should be used?
QuoteI'm "guessing of course" that the NG project replaces the bootloader and is then not being loaded and causing some kind of lock up ?
No, a MIOS32 application doesn't replace the bootloader, this part resists in a protected range.
You could upload the application .hex file directly with ST Link, in this case the flash gets the bootloader + application binary
In both cases MIDI upload should workQuoteIs that 1 ignorable error a factor in this?
No, the ignorable error really can be ignored, no reason to be worried about that
Questions to you:
- which Windows version are you using?
- some Windows versions require the "single_usb" option, see also: http://www.ucapps.de/mios32_bootstrap_newbies.html
- note that the single_usb option will be overwritten to the default (0) whenever you are overwriting the flash contents with the ST link programmer.Proposal for further troubleshooting:
- flash the MIOS32 bootloader update application again with ST Link
- activate the single_usb option via MIOS Studio terminal as described in the "newbies" page (search for "single_usb")
- after "store", reconnect the USB cable
- wait until Windows found the device
- re-open MIOS Studio
- upload the applicationBest Regards, Thorsten.
-
On 11. März 2016 at 6:49 PM, jjonas said:
MODE page 'Restart' option: there seems to be some false triggering going on with restart (one key press results in one or more triggerings), as well as short delays in re-starting the track sometimes
I checked this at my side, the restart option works as expected.
False Restart triggering might occur if multiple sources control the arpeggiator.
It's important, that either your external keyboard, or a loopback track controls the T&A bus. They shouldn't control the bus at the same timeThe delay is due to the step synchronisation.
Best Regards, Thorsten.
-
On 17. März 2016 at 2:06 PM, doc007 said:
Since I changed my SD card I can upload MBSEQ_HW.V4 and save it on my sd card to use my wilba's frontpanel. But later if I try for example to change the midi port ( pressed MENU + MIDI and select Midi Router on the left LCD ) I have an error :
[16338.948] [SEQ_FILE_C] Failed to open/create config file, status: -11
[16338.949] [SDCARD_ERROR:-11] DFS_OpenFile(..DFS_WRITE..) failedWhat do you think ? hardware or software error ?
Thanks for the answer
Could it be, that no session has been created yet?
On 17. März 2016 at 10:45 PM, EsotericLabs said:Feedback on 4.091 beta5, the extended chord table function.
- configured a track for chords, initialized it, then set the parameter layer to Chrd2 and confirmed with GP button
- switched to edit mode, stepped though all chords while playing them on my sound card.
- Technically no issues found, only the 13 chords (maj13, dom13, min13) are off - my bad! all '20' in the extended chord table code should be '21'.
updated 6 note extended chord table in C code:
Now also updated in the pre-release below
On 17. März 2016 at 9:05 AM, k-rAd MB6401 said:i'm not sure if i'm the first to find this problem.....
Drum triggers from analog out via ch16 will turn off if a delay of "0ms" is selected on all the midi outs in the bpm page.
In other words I can mute and unmute my 16 DOUT drum triggers by toggling between 0ms and -1ms on any midi out in the bpm page.
Currently running v 4.089 maybe this is already fixed in v 4.091?
please try the pre-release below (but I haven't changed anything for the drum triggers...)
22 hours ago, k-rAd MB6401 said:First steps are also not played when midi delay is used.
I can't reproduce this, the first steps are played when MIDI delay is used.
Is this somehow related to the issue that you reported on the 17th march?On 19. März 2016 at 8:53 AM, jjonas said:One additional note to 4.091 beta: When AStart is 'on', the first played note gets recorded correctly on the active track, but if there are notes in other tracks, the notes in the first steps of those other tracks won't be played.
I can't reproduce this, the first steps of all other tracks are played in step and live recording mode
On 17. März 2016 at 2:59 PM, jjonas said:Feedback on 4.091 beta. To the extent I tested, everything worked except one thing:
- I assigned JAM_LIVE and JAM_STEP to the F1–F4 buttons (and disabled the "zero-address" lines for the buttons from elsewhere in the HW setup file). JAM_LIVE has no visible effect, while JAM_STEP takes you to the Jam page, but the Step/Live mode is always what you have chosen manually on the Jam page earlier. In this sense BUTTON_JAM_STEP works like the old BUTTON_RECORD.
should work in the pre-release below
3 hours ago, Gridracer said:Could it be possible that there is a little failure in the Step_digits shematic?
Thanks for pointing this out! The schematic has been fixed.
On 17. März 2016 at 2:59 PM, jjonas said:BTW at some point in the draft manual thread I suggested that the default F1–F4 button functions in the HW setup file should be updated. I'm sorry to flip-flop on this, but since I made that suggestion I found that the Bookmarks page is actually available rather easily with MENU + SELECT, and tap tempo is available similarly with MENU + PLAY. On the other hand, the Track Selection (TRACK_SEL) page is not available easily, so probably it should take the place of bookmarks or tap tempo in the F1–F4 button default options...?
I changed the Fx assignments again:
o hwcfg/wilba*/MBSEQ_HW.V4: default F1-F4 assignments changed to: F1: Track Select, F2: Live Forwarding, F3: Recording, F4: Save All
Here a link to the pre-release:
-> (removed obsolete link)
-> please find pre7 in one of the next postingsBest Regards, Thorsten.
-
before we drift into an academical discussion: Sauraean, I added the hooks into the MIOS32_SDCARD driver for you, so that you can experiment at application level w/o touching MIOS32 code.
The change is available in the SVN repository, please update.
MIOS32_SDCARD_SectorRead (and SectorWrite) now contain:
// read 512 bytes via DMA #ifdef MIOS32_SDCARD_TASK_SUSPEND_HOOK MIOS32_SPI_TransferBlock(MIOS32_SDCARD_SPI, NULL, buffer, 512, MIOS32_SDCARD_TASK_RESUME_HOOK); MIOS32_SDCARD_TASK_SUSPEND_HOOK(); #else MIOS32_SPI_TransferBlock(MIOS32_SDCARD_SPI, NULL, buffer, 512, NULL); #endif
so, once a function for MIOS32_SDCARD_TASK_SUSPEND_HOOK has been assigned, it will be called after MIOS32_SPI_TransferBlock. In addition, MIOS32_SDCARD_TASK_RESUME_HOOK will be called by the DMA callback
In your mios32_config.h file, add following code:
extern void APP_SDCARD_TaskSuspend(void); extern void APP_SDCARD_TaskResume(void); #define MIOS32_SDCARD_TASK_SUSPEND_HOOK APP_SDCARD_TaskSuspend #define MIOS32_SDCARD_TASK_RESUME_HOOK APP_SDCARD_TaskResume
And somewhere in your app.c file:
void APP_SDCARD_TaskSuspend(void) { // suspend task here } void APP_SDCARD_TaskResume(void) { // resume task here (will be called from DMA callback, it's an ISR) }
Best Regards, Thorsten.
-
No problem at my side, something is probably wrong in your MBSEQ_HW.V4 file
Try the original hwcfg/wilba/MBSEQ_HW.V4 file, if you notice the same, then maybe related to a connection issue?
In this case, I would expect that the same issue happens with older versionsBest Regards, Thorsten.
-
No problem at my side, something is probably wrong in your MBSEQ_HW.V4 file
Try the original hwcfg/wilba/MBSEQ_HW.V4 file, if you notice the same, then maybe related to a connection issue?
In this case, I would expect that the same issue happens with older versionsBest Regards, Thorsten.
-
Quote
The reason I was talking about adding this to the generic MIOS32 SD card functions is that other than the portability issue, I would think that most applications would want the behavior of the CPU being freed while a SD card DMA transfer was in progress.
I assume that only a minority of applications need this.
During SD Card transfers FreeRTOS will switch to other higher prio tasks automatically within 1 mS (preemptive multitasking is enabled). If you organize the task priorities accordingly, there isn't a problem with the blocking behaviour. E.g. I don't see a need for MBSEQ, MBNG, MBCV
Best Regards, Thorsten.
-
Alright, so could you please try following pre-release at your side?
-> http://www.ucapps.de/mios32/midibox_seq_v4_091_pre5.zipChanges:
o Jam page: AStart now starts to record into first step in live recording mode (as intended), it starts on the selected step in step recording mode o Purpose of Record and Live Button & LED change: they switch between record (and live) mode w/o changing to the Jam page o new button/LED combo: JAM_LIVE and JAM_STEP: they switch to the JAM page and select Live resp. Step recording mode o removed obsolete (non-working) pattern based scale control
as you can see, the Auto-start doesn't change the selected step in step recording mode anymore, because this causes more issues than it's worth to add workarounds into the code.
QuoteI tried to do that just now, with the previously mentioned two patterns, both of them now have a CC track that's sending on Bus1 (the only bus that allows you to send internal CCs) on channel 1 (I guess the channel doesn't matter because no single track is being controlled here)..? Control on the scale page is 'Global'. However, I'm only able to change the scale when I change the CC track value on the track (and the seq is playing), but not when the seq is playing and I change between patterns (but don't change the CC values manually). The first pattern sends CC#03 value 0 and the other sends value 2, or whatever two different values, but no matter what the values are, after pattern change the scale will always return to 0:Major.
I guess that you are sending CC#03 from a CC layer of a Note track. In this case, each step will send a CC independent from the gate, which means that you've to configure the correct scale value for each step of the CC layer, otherwise steps with value 0 will change back to 0:Major.
If you are using a CC track instead, the value will only be sent if the gate is enabled.
Best Regards, Thorsten.
-
This would be some kind of gateway to the SD Card; I agree that this would be the right choice for this use case, but the existing FILE->FatFS->MIOS32_SDCARD APIs couldn't be used for this purpose.
Instead, a dedicated SD Card handler would be required which knows from which sectors the data can be read (or written).
Actually very similar to the SD Card Sampler project: http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fsynthesizers%2FSD+card+sample+player%2Fapp.c
which caches the "file positions" and can read them via MIOS32_SDCARD_SectorRead
The queue handling would require an alternative SDCARD_SectorRead function (implemented at application level) which uses the DMA callback mechanism as you described.
The good thing: this dedicated handling doesn't require any change in existing drivers.
And it's definitely the best choice performance-wise - if we ignore the fact that it requires some more code at application level (but this code could be "hidden" in a driver ;-)Best Regards, Thorsten.
-
Quote
My idea was a button with which to switch the Jam page Rec setting on/off, with an LED to indicate the status. This would be to spare me from having to go back and forth between the Jam and the EDIT page just to change the Rec setting. In that sense my idea is simpler than monokinetic and TK's ideas I think.
No, this idea isn't easier, because the UI handler was originally implemented in a way that recording can only be done in the JAM page.
It's available in the EDIT page due to some dirty tricks - actually it started as a try if this handling makes sense, and it seems that it was highly appreciated by the community (and I used it by myself as well :)
As you report later, it's not working perfectly (poly mode not handled correctly anymore)
Actually I would have to overwork the internal recording handling, the way how it's activated and routes incoming MIDI events.
I've to check what this really means, currently I can only assume that I need the help from some beta testers to ensure that I haven't forgotten an important mechanism during the changes.
Now where this fundamental change got a higher attention: who would like to attend the beta testing? (maybe I've some time for the change next week)QuoteIf its helpful to redefine the extended chord table to a four note per chord maximum, please say so, that is not too hard. Many chords can do without a fifth, if that helps to preserve the arpeggiator function (i'd want to add the minor 6 after all..)
The arpeggiator function isn't in danger, it's only a minor detail which doesn't work as expected by Jjonas while he intensively reviewed the MBSEQ functions, but there is no need to downstrip the chords for that reason.
Best Regards, Thorsten.
-
Quote
EDIT: To confirm: Does this mean that if you use a 4+ chord from a chord parameter layer as an arpeggiator source, only the first four notes will be used? If yes, I'll document it provisionally like this (and finally when the 4+ chord firmware comes out).
The arpeggiator will take the last 4 played notes, which unfortunately means that on a 5-note chord, the first key of the chord won't be taken.
QuoteIf live mode means that the sequencer is running, I haven't managed to get them working. The FTS on the Misc. page can be 'on' while ForceScale on the MODE page is 'off' and vice versa, and Oct. on the 'Misc.' page can be +3 while octave transpose on the TRANSPOSE page is +0. In both cases it seems the MODE and TRANSPOSE page values are the ones that determine the actual value.
It works at my side:
Fwd on (which I somtimes call "live mode" because this was the original term)
Play some notes on the keyboard, the should be forwarded.
Now increase/decrease the Octave - the incoming notes should be transposed.
Enable FTS: the incoming notes should be forced to scale.
Enable Fx, enable (for example) the Echo effect, ensure that the sequencer is running: an echo should be played.QuoteI start a new session, where I'm using two patterns, 1:A1 and 1:A2. Both of them are 16 steps long, forced to scale, and have the same quarter notes: C – D – E – F. I select 1:A1, go on the scale page, set Control to 'Group 1', select 0:Major and save. Then I select 1:A2, go to the scale page, change scale to 1:Harmonic Minor, and save.
If I now change the patterns on the scale page, the scale won't change. Instead the scale is always whatever I chose last on the scale page. It doesn't help if I save the patterns individually (instead of saving the whole session). What am I missing?
Hm, I just looked into the code - actually an important piece is missing: the SCALE information won't be stored in the pattern, because it isn't available as a NRPN parameter.
I think it would be better if I would just remove this feature.
It's inherited from MBSEQ V3 (where I implemented it as an own idea) - but apparently nobody (including me) used it for MBSEQ V4 so far.Any objections? ;-)
Best Regards, Thorsten.
-
No, I wouldn't provide a MIOS32_TaskSuspend function, but integrate an optional (#define based) call into the MIOS32_SPI module which would initiate the suspend for SPI transfers instead - similar to the way how I integrated Mutexes.
You are asking specific questions where it would be easier for me to implement a generic change based on a prototype that you provide for your specific use case. Means: try to modify the current code until you are satisfied, explain your changes (don't commit them to the repository), and then we've a good basis for further discussions. This makes it much easier for both sides.
Best Regards, Thorsten.
SEQ-CS-Wilba + other Code, Scan Matrix
in MIOS programming (C)
Posted
The BLM_X is the right choice (and not the KEYBOARD driver)
Programming Example: http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fexamples%2Fblm_x%2F
Following configuration is required in mios32_config.h:
Schematic which shows the DIN/DOUT mapping: http://www.ucapps.de/midibox_seq/mbseq_v4_dio_wilba_layout.pdf
Best Regards, Thorsten.