-
Posts
15,247 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
So etwas hatten wir schon zweimal, in beiden Faellen lag es am Soundkarten Treiber (lass mich Raten: Kx Driver?) Die Funktion laesst sich mit einer Rueckkopplungsschleife ueberpruefen - Zitat aus http://www.ucapps.de/howto_debug_midi.html Gruss, Thorsten.
-
Hallo, super, klappt doch alles! :) Du koenntest entweder im main.asm die Anzahl der analogen Eingaenge reduzieren und anschliessend ein neues .syx bauen, oder - was wesentlich schneller geht - alle offenen analogen Eingaenge an Masse anschliessen. Also nicht nur die offnenen Eingaenge am AIN Modul, sondern auch die ungenutzten analog-Eingaenge am PIC (J5:A4-A7) Gruss, Thorsten.
-
Are you using the most recent MIOS release V1.7? In this case keep in mind that the wiring to the BankStick has been changed, see also http://www.ucapps.de/mios_v1_7_hardware_mods.html With the BankStick select SysEx command you are able to test if MIOS regognizes the BankStick or not (if not it isn't connected properly): What does your core module return on "F0 00 00 7E 40 00 03 00 F7"? Best Regards, Thorsten.
-
Thanks SmashTV!!! :-) I've transfered some docs from ucapps.de to the Wiki which should be maintained by the community in the future. The official link is: http://wiki.midibox.org I would suggest that somebody also transfers most of the informations from the MIDIbox portal to the Wiki, so that it's easier to edit them. This pops up the question in which form we should continue with the portal, because it becomes redundant sooner or later and only makes it difficult to fetch the infos which are really interesting. Gallery: how should we proceed? Is there somebody who would like to help to transfer the official gallery to the new one? Best Regards, Thorsten.
-
Das funktioniert problemlos, mit welchem MIDI Controller hast Du es ausprobiert? Vielleicht kann der ja nur einen Parameter gleichzeitig senden? Am besten verwendet man einen Track Automation Splitter, um die CC#s in sogenannte Fader-Events umzuwandeln: Das hat den Vorteil, dass die eingehenden Daten auch automatisch in die Automation uebergehen (vorher den Touch Modus aktivieren) Wie der Snapshot eindeutig beweist, wurden zwei Parameter gleichzeitig uebernommen :) Gruss, Thorsten.
-
thanks pilo! :) Arumblack: this is just a toy, a demonstrator application which is implemented very simple in the hope that (experienced) programmers can enhance it for their needs. Of course, it can send SysEx when you program this into the code. It already can send any common MIDI event on any channel. It wasn't my intention to enhance this by myself in the future (I don't use it by myself...) Keep in mind that with MIDIbox64E a much more flexible application is already available. Although "64" implies that a lot of rotary encoders can be connected, this is no must, you can also connect a single encoder and switch between the 128 parameters per bank very easy with one or more special function buttons My suggestion: build a minimal control surface with 8 or more buttons, a rotary encoder and a LCD - and then play with the different applications. Don't begin with a case before the possibilities are clear for you, maybe you will change your mind and prefer another user interface. Best Regards, Thorsten.
-
Hi Jim, this will work. Now you can address each entry from the SM_NotifyToggle hook in the following way: SM_NotifyToggle ;; calculate address to table entry ;; set TBLPTR[LH] to base address TABLE_ADDR MIDIO_Presets_OffsetOut ;; add offset: 6 * 8 * column movf SM_BUTTON_COLUMN, W mullw 6 * 8 movf PRODL, W addwf TBLPTRL, F movf PRODH, W addwfc TBLPTRH, F ;; add offset: 6 * row addwf SM_BUTTON_ROW, W mullw 6 movf PRODL, W addwf TBLPTRL, F movf PRODH, W addwfc TBLPTRH, F ;; if button released, add 3 IFCLR MIOS_PARAMETER2, 0, rgoto SM_NotifyToggle_Pressed SM_NotifyToggle_Released movlw 3 addwf TBLPTRL, F movlw 0x00 addwfc TBLPRTH, F SM_NotifyToggle_Pressed ;; copy 3-byte entry to MIDI_EVNT* tblrd*+ movff TABLAT, MIDI_EVNT0 tblrd*+ movff TABLAT, MIDI_EVNT1 tblrd*+ movff TABLAT, MIDI_EVNT_VALUE ;; send MIDI event and exit goto MIDI_EVNT_Send I hope that the assembler passes and that this routine works - I haven't tried it Since the offset is calculated step by step and 8-bit overflows are avoided, more than 256 entries are possible Best Regards, Thorsten.
-
you only have to enhance the USER_AIN_NotifyChange hook in main.asm - the ain_example1 gives you some useful hints how to do this. Best Regards, Thorsten.
-
Hi, It displays the selected view, this means e.g. that the LCD doesn't automatically display the volume value if a volume event is received, this would make the device useless for common usage (imagine what would happen if the automation of Cubase sends a lot of parameters at the same time and you want to send an additional parameter - the LCD would jump to a lot of values and you wouldn't see what you are doing...) However, if your Behringer controller can send the same events like a Logic/Mackie Control, a MIDIbox LC could be an alternative, because it displays the messages sent by the host application. Sorry that I cannot give you any additional informations on this very complex topic, my time is currently very limited. Best Regards, Thorsten.
-
Everything is possible, but you have to program it by yourself, because nobody did something like this before. MIDIbox TC displays the sent MIDI messages, and not the received events. Maybe MIDImon provides better basics for such a project, but there is still a lot of stuff which has to be added so that it works like you've described it. I would estimate the effort for this to about 1/2 year: 3 months to learn assembler, one month to learn about MIOS, 1 month to learn how MIDImon works, 1 month to realize an application exactly for your requirements. To make it clear: there are two groups of MIOS users, one very very small group which implements or enhances applications based on their own plans, and another much bigger group which uses the premade stuff. There is no group which implements application on request. Best Regards, Thorsten.
-
http://www.spezial.de vertreibt die Maxim Chips in Europa, vor Jahren habe ich dort mal etwas bestellt, das ging problemlos. Damals konnte man die Produkte noch direkt in einem Onlineshop bestellen, das hat sich jedoch mittlerweile geaendert. Koenntest Du mal anfragen, wieviel der MAX525ACPP und MAX6007B kostet, und ob man auch kleinere Mengen bestellen kann? Zu den Samples: da ist so eine Sache... vor fuenf Jahren konnte man bei Spezial Electronic noch kostenlose Samples anfordern, und das hatte ich auf meiner Webseite auch bekannt gegeben - bis mich der Geschaeftsfuehrer in einer EMail darum bat, den Hinweis zu entfernen, da dieser Service hauptsaechlich fuer Entwickler und Studenten gedacht sei, und es fuer die Firma problematisch werden koennte, wenn immer mehr Leute dies ausnutzen wuerden. Die Bestellung von Samples von der Maxim-IC Homepage klappt wohl noch, aber auch dieser Service koennte eingeschraenkt werden, wenn immer mehr Leute darauf zurueckgreifen. Gruss, Thorsten.
-
Midibox 64 2.3 / Ableton Live / Soft-takeover
TK. replied to Captain_Hastings's topic in Design Concepts
If Live doesn't allow to disable the forwarding of incoming MIDI events, then you've a problem :-/ In Reaktor it is possible to disable the forwarding for each control element seperately: "Remote to MIDI" The forwarding does only make sense, if the MIDIbox sends relative events (special feature of MB64E), so that the LED rings get updated. Best Regards, Thorsten. -
You will find the table in lc_leddigits.inc, LC_LEDDIGITS_TABLE But remember that you need the updated version: http://www.ucapps.de/mios/midibox_lc_v1_5rc1.zip Best Regards, Thorsten.
-
The diagram is absolutely correct. You can switch to another bank with: special function buttons - but they are part of the SysEx dump, and therefore not available so long you haven't defined it in the midibox64.ini file a Program Change command via MIDI Channel 16 (can be sent with MIDI-Ox) a SysEx command via MIDI-Ox (F0 00 00 7E 43 08 <bank-number> F7 --- the first bank number is 00) A sysex dump will always be loaded into the current bank. So, to make it easy for you: just use the SysEx command for bank switching, and upload the .syx file into the bank thereafter. Best Regards, Thorsten.
-
There are two problems, you have to rename "MB64E_META_Handler_10_End" by "MB64_META_Handler_10_End" (typing error), and you have to ensure that both labels are beginning at the first column. Best Regards, Thorsten.
-
Hi Jim, yes - I tried to keep this example simple, so that it's easier for you to get an oversight over this driver. it would be a big help for me and a good starting point for you. I assume that you want to add much more features in the future, therefore it makes sense that somebody else begins with the table integration (nice exercise) and enhances his code step by step. The SM_NotifyToggle is a hook which can also be placed into another include file where the MIDI routine starts. The table entry can be calculated from SM_BUTTON_COLUMN and SM_BUTTON_ROW I will create another example for 16x32 (DOUTxDIN sounds better: "16 times 32 inputs"), everything else only on request. Best Regards, Thorsten.
-
Hi Chris, during startup, MIOS captures the initial state of the shift register, waits for 1.5 mS and then clears all "changed" flags. Means: the internal MIOS registers are properly initialized with the button states, and the application won't get any change notification, regardless if the DINs are 0 or 1 MIDIO has a second set of DIN values which are used for the toggle mechanism. I must say that I oversaw the possibility to use the buttons in inversion and toggle mode, therefore I forgot to implement a proper startup reset for exactly this case. I will try this in the next days. Best Regards, Thorsten.
-
UPDATE: this programmer could fail on your PC, MBHP_BURNER is the most reliable solution Hi, Martin Haverland recently tried the Brocolli18 programmer to burn the MIOS bootstrap loader into the PIC18F452 - with great success! When you take a look to the schematic: you will notice that this is really a simple and cheap solution, and maybe much more stable than the good old, but sometimes troublemaking JDM. I would like to ask all experienced MIDIbox users for help! Could you please try this programmer with your computer and tell me if it works ok or not? If it turns out that this programmer works very stable, then I will discontinue MBHP_JDM and strongly suggest this solution in the future. So - please test it to make a lot of newbies happy :) an HowTo can be found here: http://www.midibox.org/cgi-bin/yabb/YaBB.cgi?board=troubleshooting;action=display;num=1088544230 The link to Brocolli18: http://home.earthlink.net/~davesullins/software/pic18f.html Please keep in mind that the LVP mode won't work (read the HowTo carefully) Best Regards, Thorsten. UPDATE: this programmer could fail on your PC, MBHP_BURNER is the most reliable solution
-
Broccoli18 and Bootloader - SUCCESS!!!
TK. replied to Martin_Haverland's topic in Testing/Troubleshooting
This sounds very good! I will announce this in the news section. Once more than 10 people were able to burn their PIC successfully with this programmer, I will discontinue the MBHP_JDM and strongly recomment this much simpler one! Best Regards, Thorsten. -
Hi, of course, they are. But which application do you mean exactly? The configuration is sometimes different. Best Regards, Thorsten.
-
Broccoli18 and Bootloader - SUCCESS!!!
TK. replied to Martin_Haverland's topic in Testing/Troubleshooting
Hi, I',m not sure if a LVP programmer is really helpful, since it will disable pin RB5 for common use. This means that you won't be able to drive a LCD. I'm also not sure about the error messages. The .hex file is definitely not corrupt, it is generated from the official assembler from Microchip, and it works with the PICstart programmer (the official PIC burner from Microchip...) as well as with IC-Prog. So I guess that the Briccoli software has an imperfection, maybe it's better to ask the name of this program for help. Best Regards, Thorsten. -
Hi, maybe a problem with the power-supply? Maybe the voltage level doesn't raise to 5V fast enough before the core starts to run? What does happen if you upload an application? MIOS should reset and the upload request string should appear like on a power-on. Best Regards, Thorsten.
-
Hi Pay_c, nice that it works :) The gatelength is only fixed in threshold mode, since Layer C contains the threshold level in this case. Just switch to Layer C during editing and you will see what I mean - with different levels you are able to define several "morphing states" between two patterns, and the states are controlled with the modulation wheel. It isn't possible to provide the length as fourth layer due to the fixed data structure and really tough timing requirements for 16 tracks (threshold morphing was just a craze of me and I thought it's better to implement it so than to left out this idea). If you want to vary also the gatelength, then use the smooth mode. Best Regards, Thorsten.
-
Which details do you mean exactly? Best Regards, Thorsten.
-
Ok, then I will just give you an example for a meta event: open mb64_meta.inc, search for "MB64_META_Handler_10" and replace it by: MB64_META_Handler_10 ;; do nothing if button released (button value == 0x00) movf MIDI_EVNT_VALUE, W bz MB64E_META_Handler_10_End ;; increment variable incf MY_BUTTON_TOGGLE_STATE, F ;; reset to zero if value >= 5 movlw 0x05 IFGEQ MY_BUTTON_TOGGLE_STATE, ACCESS, clrf MY_BUTTON_TOGGLE_STATE ;; send value movlw 0xb0 call MIOS_MIDI_TxBufferPut movlw 0x10 call MIOS_MIDI_TxBufferPut movf MY_BUTTON_TOGGLE_STATE, W call MIOS_MIDI_TxBufferPut MB64_META_Handler_10_End return This will send CC#16 with values 0, 1, 2, 3, 4, 0, 1, 2, ... every time you press the single button. Thereafter locate the variable to a free address, open app_defines.h, search for an unused address (lets say 0x03c) and write: MY_BUTTON_TOGGLE_STATE EQU 0x03c The meta event has to be assigned to the button with 1 = F0 10 7F @OnOff You could also assign it directly in the source code (see mb64_presets.inc), this saves some effort. There are several ways to implement this for more toggle buttons, the most simple way is to add a dedicated meta function for each one. For this, you have to enhance the lookup table at the beginning of mb64_meta.inc BankStick: each bank contains a complete setup (SysEx dump). If no LCD is available, you could also switch between the banks with a Program Change event over MIDI Channel 16 (coming from external), or you could assign some buttons to special functions like described here: http://www.ucapps.de/midibox/midibox64_sfb_table.txt You are right, without a LCD it isn't easy to understand all the possibilities of the application! Best Regards, Thorsten.