
Durisian
Programmer-
Posts
160 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by Durisian
-
7-bit sysex scrambling from mios
Durisian replied to Durisian's topic in MIDIbox Tools & MIOS Studio
Alright, I've got the basic idea sorted. It's actually fairly straight forward. Nothing like some sleep to clear your head. Now where's my copy of Java for Dummies ;D -
7-bit sysex scrambling from mios
Durisian replied to Durisian's topic in MIDIbox Tools & MIOS Studio
whoa.... my head hurts... they really are scrambled Are there some notes that explain the concepts of the algorithms? I'm having some trouble following the math. Cheers! -
I'm sure there are lots of reasons this could happen. It's happened to me in 2 situations. 1. trying to access a byte from an array that is in a location higher than the array size. eg. unsigned char array[10]; array[15] = 5; 2. A power short accross the AIN pins. eg: Vd connected to Vs.
-
MIOS_MIDI_MergerSet(MIOS_MIDI_MERGER_ENABLED); Will enable the midi merger MIOS_MPROC_MergerDisable(); and MIOS_MPROC_MergerEnable(); are used to temporarily suspend the merger. You won't need to use these. Translation is not difficult, you just need to alter the status byte. You could try something like this. ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS when a complete MIDI event has been received ///////////////////////////////////////////////////////////////////////////// unsigned char channel void MPROC_NotifyReceivedEvnt( unsigned char evnt0, unsigned char evnt1, unsigned char evnt2) __wparam { // check if message is a program change. change it to a CC // // Status = CC on recieved channel. event1 = event1. event2 = 127 // channel = evnt0 & 0x0f; if( (evnt0 & 0xf0) == 0xc0) { MIOS_MIDI_TxBufferPut(0xb0 | channel); MIOS_MIDI_TxBufferPut(evnt1); MIOS_MIDI_TxBufferPut(0x7f); } }
-
So I'm experimenting with developing a PC editor for my pedal board project. At the moment i'm just reading a syx file downloaded from a bankstick I'm hoping someone can enlighten me as to the 7-bit scrambling. I have assumed it's the first byte of 8 that contains the first bit of the following 7. 0ABCDEFG, 0AAAAAAA, 0BBBBBBB, 0CCCCCCC, 0DDDDDDDD, 0EEEEEEE, 0FFFFFFF, 0GGGGGGG. So to get the value of Bankstick address 0x0000 Given that the header is 11 bytes long, it should be: value = ((12thByte & b01000000) << 1) | 13thByte Can anyon help me out? Cheers!
-
It's not just electronics. You need to get an enclosure of some kind. You'll need an array of tools for cutting round and square holes. If you're not good with metal/wood/plastic trades, that's another skill you'll need to learn. CAD skills are also helpful for designing panel layouts. Very helpful when it comes to drilling time. If you've got more than 6 hours a day to work on it, you'll probably be alright, but doing this in precious spare time will likely leave you short. I wouldn't build it too big either. See the wiki for some soldering guides and other briefs (basics section). First step is to read read read In some ways I have to agree with David, it is very time conusuming, and easy to make un-fixable mistakes. but it's a music tech course, and you can't get much more tech than building your own custom midi controller. It would be kind of cool (in a midi geek kind of way ;D). I'd put it past your coordinator first, if they are ok with it - try to set a grade scale given the complexity of the project. So if you build it, it looks like crap, and only half of it works, you still get a reasonable mark.
-
Hi Cimo Have you checked out TK's C examples: http://www.ucapps.de/mios_c.html There's some code snippets here you might find useful. Such a scaling pot values. Cheers!
-
mios studio - upload direct to bankstick not working
Durisian replied to Durisian's topic in MIDIbox Tools & MIOS Studio
Testing successful Any chance the official download can be updated? ;D -
mios studio - upload direct to bankstick not working
Durisian replied to Durisian's topic in MIDIbox Tools & MIOS Studio
Thanks TK - I was afraid you'd say that hmmm.... Just had a look through the code, looks like all it needs is the last line added into the HexFileUpload class. I'll get the java compiler tommorrow and test it out. } else if (lAddress >= HexFile.HEX_FILE_BANKSTICK_ADDRESS_START && lAddress <= HexFile.HEX_FILE_BANKSTICK_ADDRESS_END) { lAddress -= HexFile.HEX_FILE_BANKSTICK_ADDRESS_START; lAddress += HexFile.SYSEX_MSG_BANKSTICK_ADDRESS_START; // System.out.println("Bankstick"); if (!bankstickSelected) { selectBankstick(); bankstickSelected = true; } lAddressExtension = (nBankstickNo & 0x7f); } -
QBAS made a velocity sensitive scan matrix for a keyboard.... http://www.midibox.org/forum/index.php?topic=6386.15 The 16x16 matrix is big enough, but I think he only made 12x11 as velocity sensitive. Would be a good starting point if you can program in asm.
-
I made a start on the software theory last week. -AIN input increases by ## very quickly, send note on -AIN falls below ## - send note off -The notes that get played are calculated when your fingers touch the fret board. But the notes don't play until there is enough 'loudness' on the pickup. -Hammer on's, pull off's and slides are can be fairly easily accounted for by checking if the string is already playing a note, and swapping it the new note. -A fret 'registry' can be used to keep a list of active frets. Highest fret in the list wins. This means you can change the fret below the current used fret, and pull off to play the note below. Really the basics of the software side are not that complicated, At least from the software point of view: -it'll be polyphonic -it'll be velocity sensitive (although it won't decay like a guitar string). -Guitar strings will need to be 'hit' to play a note ... I should have an application with basic functionality by the end of the week (although completely untested). ;D
-
Yes, I think no matter the method used, it wouldn't be as simple as just playing it like a guitar (although very close), it would take some practise.
-
I'm not sure what the affects would be without separated frets :(
-
I will start off using the basic 8x8 scan matrix from TK, will give a good start for a trial. I can work out how to implement a bigger matrix later. This would be how to connect the scan matrix to the guitar... right??
-
I had quick play with them, should be ok, there pretty big. My only concern is how long they would last. Check them out when your in store ;D Sadly the way I designed it makes sysex not easy to implement. one day in the not so distant future i'll look at it some more. (I need to give it a rest for a while). If your after an app to start off with try canrul - if he's still around i'm sure he will share his code. http://www.midibox.org/forum/index.php?topic=9495.0
-
The problem is they switch on - press again to switch off. MIOS really needs momentary action switches. It should be possible to customise software to emulate momentary switching, but would have limitations. (I thought about this a lot when coding my own foot controller application) I saw these last time I was there, they might work well on a foot controller. http://jaycar.com.au/productView.asp?ID=sp0732&CATID=28&keywords=&SPECIAL=&form=CAT&ProdCodeOnly=&Keyword1=&Keyword2=&pageNumber=&priceMin=&priceMax=&SUBCATID=652
-
Sounds awesome If I can successfully get QBAS's 32x32 matrix to work with C, I'll make a start on some software for it.
-
Interesting... Personally havn't had a problem with them, neither has a friend who places orders once a month or so. But will be weary in future. Thanks for the heads up.
-
Check out Futurlec http://www.futurlec.com/ConnHead.shtml HDCONNS2 looks like what your after http://www.futurlec.com/Connectors/HDCONNS2.shtml don't forget to order the the actual pins as well (HDPINF) :-[
-
I revisited the Line 6 stuff the other day. The POD file I made needs to be redone, it's not quite right. In doing that it should be the same config as the flextone II. As far as I can tell the MIDI implementation appears to be identical. And similar for all Line 6 amp modellers.
-
Thanks guys!! I think all the major bugs are out the code now!! ::) Maybe there's some beta testers out there :D
-
What about a single resistive track on the side with each fret attached. Connected to Vs and Vd Each string connected to an AIN input. As you press down on a string the voltage travels off the resistive track, through the fret, down the string and to the AIN. Would this work? Of course you'll have a live wire problem. :)
-
Hi Guys, I've almost finished my first MIDIbox. It started out as simple extension to add an extra expression pedal for my fcb1010 floorboard. I wrote a custom application, once I realised how easy programming in C and using MIOS could be I got a little carried away!! :) My Pedal Box Setup I built this becuase I wanted a little extra control over my V-Amp, the FCB1010 is a great floorboard but with extra expression pedals makes it so much simpler to use. Midi chain: FCB1010 -> Pedal Box -> V-Amp The FCB1010 Floorboard does most of the work. Pedal Box displays incoming midi messages as if they were a AIN or DIN input. So it sems like one controller. I only use one extra pedal (for volume control), I will probably add a few more when I get some more cash - I like having control of my gear :D Application Supports: 8 Expression Pedals or Pedal inputs (CV / 10k pot) Option for pedals to follow program change messages - changing the midi messages sent Value scaled between pre-defined min and max values (can also be different for each program change) Can be setup to control up to 8 devices over 8 channels (1 bankstick required per device) Each pedal or button has it’s own device assignment Individual ‘device tables’ files allows easy...ish customization for different MIDI devices. Settings configurable from box. (this is a very slow process but can you help you out in pinch, it’s far quicker to edit the default setup before uploading). LCD Display Named Program Changes Named CC events Meter displaying value/on/off up to 9 specific CC value name tables for effect selection, etc Tap Tempo BPM display Pedal Board mode (max 34 buttons) Up to 16 fixed midi output buttons with LED indicators Up to 16 banked buttons for up to 128 midi commands with up to 16 LED indicators Buttons toggle between a pre-defined min and max value 2 modes for buttons: switching or momentary Bank displayed on 2×7 segment LED digits or LCD Bank Up / Down buttons The main application is written in C. I tried to make it as simple as possible to customise for your own equipment. Midi device files are written in assembly, they upload directly to a bankstick. Currently I've got files for Behringer V-Amp series and Line 6 POD 2 / Pro. A skeleton is also available to make your own. I'll make some more when I get a little time. I've written more detailed info in the wiki: http://www.midibox.org/dokuwiki/pedal_box For those seeking floorboard software - I would appreciate your input into this project. Is there some functionality you would like to see? other devices supported? Let me know your thoughts. Cheers!!
-
Would be easier (IMO) to write the a custom app in C. You could do this by creating a table of midi events. 32 entries long. With a bank switch button you can toggle the bank. and then use something like "pin * bank = entry" finally send the midi info in that entry Happy to help you out