superdavies Posted May 31, 2007 Report Share Posted May 31, 2007 Hi to everyoneFor my midibox64 project i'm using the mk_sys and the file in it called "midibox64.ini"; I made some changes in the .ini file and all works for my needing; but I have some question, because I need more.Is it coded in C? If so why I can't see files like main.C ecc?I need to make up other changes but I can't understand where I have to made them and how: These are my needs: I would like to assign some metaevent to some dins...very easy messages like this:"when you push the button assigned to din number 1, the value of controller assign to pot 2 must go to 40, the value of controller assign to pot 5 must go to 0, and so on; in other words, a single din "telling" to all the value of some controllers to go to a specific value from 0 to 127. is it possible?Second question: there's the possibily, as I can understand with metaevent too, to choose beetween the pots rows? I try to explain: we have two dins with metaevent and two potrows of 15 pot each, by pressing the first din only must work the first row, by pressing the second din only must work the second row possibly making snapshot like on startup.Is it possible? Anyone would like to help me with coding? :)Thank you very very much!!!Superdavies Quote Link to comment Share on other sites More sharing options...
audiocommander Posted May 31, 2007 Report Share Posted May 31, 2007 Hi,mb64 is written in ASM.this sounds like you possibly want to program your own application.see here:http://www.midibox.org/dokuwiki/doku.php?id=application_developmentand here:http://www.ucapps.de/mios_c.htmlthere are lots of examples on the bottom of that page, for example like this one:http://www.ucapps.de/mios_c_send_din.htmlIf you know a little bit C or any other programming language, this should be no big problem.Although you should of course consider that mb64 has many cool features your own app won't have (at least not until you re-program these. You might also want to check out some C-based applications from the ucapps download section and adapt these.regards,Michael Quote Link to comment Share on other sites More sharing options...
superdavies Posted June 1, 2007 Author Report Share Posted June 1, 2007 okLet's talk for real.I have seen all your links ( just seen so much times...) and I probably understand that for things I have to do it's better another application coded in C, so I choose ain64_din128_dout128_v2_0 . ( also for the reason that I don't need the lcd)So I need to assign a "metaevent" to some of my dins for doing things I told yesterday ( pressing a din cause some controller to go to a specific value ) How can I start?suggestions?Thank you very much!!!Andrea Quote Link to comment Share on other sites More sharing options...
audiocommander Posted June 1, 2007 Report Share Posted June 1, 2007 First of all, I'm not really sure what you mean with "meta-events".There's a meta-event used in Java meaning System-Realtime messages (like Timecodes, SongPositionPointers etc.; also see => http://www.midibox.org/dokuwiki/doku.php?id=midi_specification ), but I think, you just want to control different variables with your Encoders/Pots or reset their values to some specific content when you press a button (like a "reset"- or "shift"-key). That should be pretty easy, that's what I gave you the links for.You have two basic functions in the C-Skeleton for that purpose:- DIN_NotifyToggle() that gets called whenever a button is pressed- AIN_NotifyChange() or ENC_NotifyChange() which get called whenever a Pot or Encoder has been turned (for Encoders you also need to edit mios_tables.inc)The rest is just changing and setting variables. If you don't know how to do that, you should grab a basic C-Book and learn. If you have some experience in programming, you should be able to complete this task in a weekend; if you're a bloody n00b (;D) don't be scared, once you know these C-basics you can also program PHP,JavaScript,ActionScript or any other similar language, 'cause in theory it's all the same, just the syntaxes are slightly different.Do concentrate learning about variables (types, declarations and scopes) and functions.Avoid multiplications and divisions as well as any include-files from standard-libraries (eg. <stdio.h> or something like that, 'cause these are not available on MIOS).Everything you can use with MIOS is listed in the MIOS-function ref:http://www.ucapps.de/cmios_fun.htmlRegards,Michaelps: even if you don't need an LCD, you should connect one. It helps developing a lot if you see what's going on, else it's more like guessing than knowing... Quote Link to comment Share on other sites More sharing options...
superdavies Posted June 1, 2007 Author Report Share Posted June 1, 2007 YesIn my thought, meta events stands for many midi events by pressing a button or turning just one pot.Ok, I'm learning C but for me it's a little bit difficult, I try so many times also with differents apps in asm, in c and so on but, also for the english language that is not mine, it's not so easy for me! Many people tell me just a couple of days, just a week and things like these but it's three months and still can't understand so many things!!!Ok, just tryin' another time understanding C but I'm a bit demoralized...No problems with electronics but BIG probles with programming!!!Thank for your help.Andrea Quote Link to comment Share on other sites More sharing options...
entity Posted August 30, 2007 Report Share Posted August 30, 2007 I'm working on an application in C that does something similar to what you are asking. Maybe I can help if this is still a valid project for you.For your project:With 99% certainty, you can get DIN1 to only send the "top" row CC values and DIN2 to only send the "bottom" row CC values.When you say "pots", do you really mean rotary encoders? It seems like you should be using rotary encoders if you want buttons to change the current value of a knob. For instance, if a knob is rotated 100% and your button tells it to send 0, you will not be able to raise the parameter anymore with a pot. It would be fine with a rotary encoder. Then again, I'm not a hardware guy, so hopefully I'm not giving bad advice. Quote Link to comment Share on other sites More sharing options...
stryd_one Posted August 30, 2007 Report Share Posted August 30, 2007 For instance, if a knob is rotated 100% and your button tells it to send 0Most synth/controllers use a soft takeover function for that - the knob does nothing until it's value reaches the target (0 in your example) and then it's movement is tracked (so in your case you would turn the knob to 0, and then turn it up)... That said, encoders are certainly a better solution.Welcome aboard! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.