Jump to content

bugfight

Frequent Writer
  • Posts

    812
  • Joined

  • Last visited

Everything posted by bugfight

  1. c is easy, it's not like you need to get an "A" in it... *whack*
  2. i changed for this reason (not to fool anybody, "anybody" fools themselves plenty on their own), is good enough reason... i am, however, very famous, just not a lot of people know about it...
  3. no it wouldn't. you won't need shift and press, cause you have a dedicated button for bank. increment/decrement buttons are right there already tk has an elegant solution... also you could just add the bank button and continue to use the menu button for ensembles as the buttons should go with the menu controls if you decide to go this way.
  4. excellent! you didn't enable debounce?? try pressing softly and slowly... the guru priest!
  5. i think most folks would rather have the mixer than the matrix, if it's one xor the other...
  6. again, i was referring to which side of the lcd the controls are on, not which side of the panel the lcd is on. we can talk about that, too of course...
  7. it may be a can of worms regarding the patch/ensemble structure, but vca would be useful for other things and maybe more flexible and keep the control count down... if you already gots cvs vca is pretty easy... all of these are on the right: kurzweil k2000 roland rd-700 kawai xd-5 mb-6582 quadraverb 2 (hehe ok, not a synth i won't list the other non-synths) if you manipulate with your right hand you don't want it covering the display... maybe a lot of others menu around with left hand while playing righty? or maybe you thought i meant where the lcd is on the panel. i meant where the menu controls are relative to the lcd.
  8. hmmm, i really like the idea of mono buttons i wonder if the mixer might best be implemented by adding vca... ooooo great idea, i've never seen this before, they would need to be easy to "feel" so you knew which one you were spasticly grabbing... or how about a joystick? agree. hehe, was my first reaction in the chat too. told ya so, f *whack* also, i'm wondering why the menu controls are on the left. i am not left handed, so no one else should be either... *whack*
  9. hehe the cross fertilization of mb, sdiy, e-m etc continues... check out analog toolbox: http://www.ucapps.de/mios/analog_toolbox_v1_1c.zip
  10. nobody? akk this quote is from the movie "Amadeus," which i highly recommend no offense to the germans here! honest, some of my favorite midi-boxers are german... let's try another: "our germans are better zan zeir germans." *whack*
  11. wooohoooo! back in the chat agaaaiin! so what is the issue with it slowing the server? does it have anything to do with the animated avatars? if there's something i can help with, let me know...
  12. a quick search, with mad web skills reveals: http://www.midibox.org/forum/index.php/topic,9238.msg66511.html#msg66511
  13. oh, and when will you have my kit ready??
  14. looking good. glad you reconsidered the 8x. is it big enough to use the mb-6582 main pcb? looks like there would be room for ext filters... suggest adding feedback, which rocks. a 4x mixer would be very useful as well...
  15. i hereby and heretofore wherewithal notwithstanding etc etc predict the "newb" will be a guru before the pokey sw is working... *whack*
  16. mmmmm make them 2x80 and i'll order 25 now! ok maybe just 2...
  17. we talked about this in the chat, lo those many moons ago... remember, the sparkfun pcbs don't have isolation diodes so they don't work properly in a matrix, in your case you would want to cut all the matrix traces and use them as individual buttons. still might be easier than etching your own...
  18. pay attention class... this is what the cool-amp does... also note: the pcbs i'm using are manufactured, but HASL is actually worse than bare copper for contacts. i think we can agree the best thing for this purpose is pro pcbs with ENIG but the cool-amp coated contacts are working great. now if only my buttons weren't "depressed" hehe...
  19. ahem, so on the subject at hand.... new code from tk fully tested. (see this thread http://www.midibox.org/forum/index.php/topic,10476.0.html) cool-amp residue mess cleaned from test subject. (don't try to cool-amp a populated pcb - the residue is conductive and winds up stuck everywhere) with debounce and no hasl in the way, these buttons behave reliably. only time will tell how often they need cleaning, mtbf, etc... next up: mounting method and panel cutting. sparkfun sells a acrylic baffle for this, but it's expensive and i don't like it, so i'm thinking. of cutting my own or just using strips between the buttons to hold the silicon part down. probably will make a frontpanelexpress panel for a "duome", but need to decide if i also want lcd and encoders... it might be a while before i get there, what with all the other stuff i'm into. to be continued....
  20. right you are. hehe, i didn't even consider someone would try that... fixed now in previous post.
  21. here's a quick way to move the midi note range up, which helps when testing with mios studio, and may be useful for others... add to main.h: ///////////////////////////////////////////////////////////////////////////// // Global definitions ///////////////////////////////////////////////////////////////////////////// #define BLM_MIDI_STARTNOTE 24 ;; NOTE: this should be kept under 64 or the notes will wrap back down to 0 change in main.c: void MPROC_NotifyReceivedEvnt(unsigned char evnt0, unsigned char evnt1, unsigned char evnt2) __wparam { unsigned char led_column; unsigned char led_row; unsigned char evnt1Adj; ... evnt1Adj = (evnt1 - BLM_MIDI_STARTNOTE) & 0x7f; if( (evnt0 == 0x80 || evnt0 == 0x90) && (evnt1Adj < 0x40 ) ) { // derive LED column and row from note number led_column = evnt1Adj >> 3; led_row = evnt1Adj & 0x07; ... void BLM_NotifyToggle(unsigned char pin, unsigned char value) __wparam { unsigned char mask; // send pin number and value as Note On Event MIOS_MIDI_TxBufferPut(0x90); MIOS_MIDI_TxBufferPut((pin + BLM_MIDI_STARTNOTE) & 0x7f); MIOS_MIDI_TxBufferPut(value ? 0x00 : 0x7f); ... edit* changed as tk suggested...
  22. with the column and row no longer swapped, the "scrambling" should now read 4x16: (0,0)(1,0)(2,0)(3,0)(4,0)(5,0)(6,0)(7,0)(0,1)(1,1)(2,1)(3,1)(4,1)(5,1)(6,1)(7,1) (0,2)(1,2)(2,2)(3,2)(4,2)(5,2)(6,2)(7,2)(0,3)(1,3)(2,3)(3,3)(4,3)(5,3)(6,3)(7,3) (0,4)(1,4)(2,4)(3,4)(4,4)(5,4)(6,4)(7,4)(0,5)(1,5)(2,5)(3,5)(4,5)(5,5)(6,5)(7,5) (0,6)(1,6)(2,6)(3,6)(4,6)(5,6)(6,6)(7,6)(0,7)(1,7)(2,7)(3,7)(4,7)(5,7)(6,7)(7,7) 8x8: (0,0)(1,0)(2,0)(3,0)(4,0)(5,0)(6,0)(7,0) (0,2)(1,2)(2,2)(3,2)(4,2)(5,2)(6,2)(7,2) (0,4)(1,4)(2,4)(3,4)(4,4)(5,4)(6,4)(7,4) (0,6)(1,6)(2,6)(3,6)(4,6)(5,6)(6,6)(7,6) (0,1)(1,1)(2,1)(3,1)(4,1)(5,1)(6,1)(7,1) (0,3)(1,3)(2,3)(3,3)(4,3)(5,3)(6,3)(7,3) (0,5)(1,5)(2,5)(3,5)(4,5)(5,5)(6,5)(7,5) (0,7)(1,7)(2,7)(3,7)(4,7)(5,7)(6,7)(7,7)
  23. i wasn't paying attention to the column and row numbers. now that i did, i noticed a few things: - column and row are reversed (i think there was a provision for swapping them in the old code) - column alternates between sides while row is always 0-7 so if set up for seq (4x16) going left to right and top to bottom sequentially you get (col,row) (0,0)...(0,7) (1,0)...(1,7) (2,0)...(2,7) (3,0)...(3,7) (4,0)...(4,7) (5,0)...(5,7) (6,0)...(6,7) (7,0)...(7,7) for 8x8 monome style you get (0,0)...(0,7) (2,0)...(2,7) (4,0)...(4,7) (6,0)...(6,7) (1,0)...(1,7) (3,0)...(3,7) (5,0)...(5,7) (7,0)...(7,7)
  24. no, thank you! new version loaded and tested. this is clearly better, more easily configured and keeps timing the same. note that i used 0xF0 for the mask. originally i used BC847AMTF because the specs matched up with bc547, but i had an issue with the leds dimming as more were added (this only really showed up on the last 5 or so of 16) so i changed to a darlington transistor. i used MMBTA14, which is smd version of MPSA14 coolness.
  25. here's the (now tested) simplified toggling func in place void BLM_NotifyToggle(unsigned char pin, unsigned char value) __wparam { unsigned char mask; // send pin number and value as Note On Event MIOS_MIDI_TxBufferPut(0x90); MIOS_MIDI_TxBufferPut(pin); MIOS_MIDI_TxBufferPut(value ? 0x00 : 0x7f); // enable this code (turn #if 0 into #if 1) if buttons should change the LED colour directly // disable it when LEDs should only be controlled via MIDI #if 1 if (!value) { mask = MIOS_HLP_GetBitORMask(pin); if ( blm_row_green[blm_button_column] & mask ) blm_row_red[blm_button_column] ^= mask; blm_row_green[blm_button_column] ^= mask; } #endif // request display update app_flags.DISPLAY_UPDATE_REQ = 1; }
×
×
  • Create New...