ssp

Programmer
  • Content count

    583
  • Joined

  • Last visited

Community Reputation

5 Neutral

About ssp

  • Rank
    MIDIbox Guru
  • Birthday January 01

Profile Information

  • Gender Not Telling
  1. multiple Clcd's

    Working just got the 3 digit displays running after some advice and help from Thorsten. Just doing the dance, code to follow.   
  2. multiple Clcd's

    Just put the Ainser64 together only to realise I hadn't ordered the Ic's... gutting..  now ordered for delivery tomorrow. whats one night waiting for parts...
  3. multiple Clcd's

    With a nudge in the right direction from thorsten i managed to get this working today to a certain extent. Using senders and maps i have got it working however the 128bit for encoders is the problem. I did see that there is a resolution setting for pots, so perhaps i can edit this to my advantage, I am just going to build my ainser64 board and give it a try. using this section of the manual MAP<n>/HWORDI  Applies linear interpolation between data points. Up to 64 datapoints can be specified, the value range is -16384..16383 (16bit). Example: # pot is working at 12bit resolution (0..4095) # 0..2048 should send CC value 127..0 downwards, # and 2049..4095 (the second half) should send 0..127 upwards. MAP1/HWORDI 0:127 2048:0 4095:127
  4. First post

    Well it has been a learning curve alright but with help from latigid on, Antichambre , TK. , FantomXR  and Zam I have been working on replica controllers for a couple of plugins i use here all the time, Arturia Sem Filter, Mini Filter and the Matrix Filter. I am lso doing a couple of plugin synth controllers. I am also working on the Blue Cat audio summing mixer MB7 thaty i use in my master chain, its a great plugin. As much as I love these plugins I also love being able to reach out to a knob, button or slider and turn it and that controls what happens but, I know I can buy a generic controller that everyone uses but building and desiging your own version of what you see, thats where the fun is for me. Years ago I designed an built the MOTU BPM replica and its still going to this day and has never let me down however, I can now upgrade this to the newer disco board and the .ngc and also look at adding the sample player to it making it self contained and designing a lighter casework as well. I figured out how to use the MB_MF and get the faders set up and calibrated. the new syntax and structure of the .ngc ngl files and ho to edit and test in real time in mios studio with some help. Every evening trying new things out all the time and constantly learning. I look forward to sharing things on the blog as I go, if I can help out in return please feel free to ask. Photo to come in my Gallery this week ;) May the blue smoke be with you. EOL
  5. is it strange??

    New Edit! EOL
  6. understanding the .ngc code

    it is actually 5 rows of 8 but i used 2 rows as an example before i start trying this. I am just curious if it is possible, I will have a play this evening and see where i get to. I know that in thorstens blofeld files that there is the meta , bank and cond label used. i could alter this slightly but its the #cc as well. will see what happens tonight  
  7. understanding the .ngc code

    panel test day, checking fitment on led's and tact switches, then the pcb.
  8. understanding the .ngc code

    I have been playing with banks and cond labels again today all went well.  I was pondering something though. If i have a series of values i want to control from 3 knobs, so there are two lines of values, and 8 on each line, what i want to do to reduce the amount of encoders is have one for moving in the y direction between line 1 and line 2, then one to move in the "x" direction to step between 1 to 8 in the line, then a final encoder to change the value of the selcted cc#. in a basic explanation (not real code!!) Y= enc_1  if<64 line=1 Y= enc_1  if<127 line=2 X= enc_2  if<10 cc16   X= enc_2  if<20 cc17 X= enc_2  if<30 cc18 X= enc_2  if<40 cc18 Value= enc_3 type=CC ......... this encoder would have to change its code on each movement over x&y so cc=16, cc=17,cc=18 etc. Is it possible to do this in the .ngc?    
  9. is it strange??

    1: Is it strange that all i could do all week was think about finishing work and getting on with starting to learn the mios32 code now i have gone through the .ngc code. 2: Is it also strange that i was looking forward to various components arriving today and gleefully picking them up from the delivery box after work 3: Refer to 1 & 2   EVENT_UNDERSTOOD    id= 1  type=command  CMD=1 range= 0:127 lcd_pos=1:1:1 label="^DoThis " COND_LABEL   DoThis COND <64    "Read 1&2" COND <127    "Goto 4:  " COND_ELSE  "--------" 4: Great success you are officially a midiboxer geek and should be proud ;) now refer to 1 & 2 but in C#
  10. looking here as well MIOS32 Tutorial #017: A simple Sequencer Sequencer --------- The BPM generator can be used in MIDI Clock Master and Slave mode with a definable resolution, which can optionally be (much) higher than the common MIDI clock resolution. It it configured for Auto mode, which means, that it will generate an internal clock by default (Master), and synchronize to an extern clock once the appr. MIDI clock events are received (Slave). In slave mode, the incoming clock is multiplied depending on the defined PPQN (pulses per quarter note). The MIDI event scheduler queues MIDI events which should be played at a given MIDI clock tick. The approach has the big advantage, that events can be pre-generated, eg. to bridge the time while loading new pattern(s) from a SD Card, or to generate effects like MIDI Echo (very simple, just put the note multiple times into the queue with different bpm_tick values). The advantage of using the MIDI clock as time base instead of an absolute time is, that the sequencer is even in synch if the tempo is changed while unplayed events are in the queue.   This here "The MIDI event scheduler queues MIDI events which should be played at a given MIDI clock tick" makes me think that this is the way to go. So now i gotta start learning C'???... lol      And i am also looking at the arpeggiator tutorials, this is all way over my head but i am reading through things, if anyone has anything else i should think of looking at let me know.  
  11. With some advice from antichambre I have taken a look at the github: https://github.com/midibox/mios32/blob/feature/usb_hid/modules/sequencer/seq_bpm.h i noticed that it has the ability to accept bpm clock and be "clocked" However this is not an .ngc file and I suck big time at C' in any form. I have got the handle on most of the .ngc format now and would like to somehow make this work in there. i understand that there are 24 pulse per quater note so anything slaved knows a quater has passed after 24ppqn. sending 0xF8  24 times. So if each led has a sysex recieve of 0xF8 x 24 then the 25th steps to the next led etc would that work? This is a whole new thing to learn but I am game to try it out.
  12. Im making a arturia mini filter replica controller and it has an 8 step sequencer that steps through 8 leds. this is switched by an 8 way rotary switch (STEPS) that has a value defined map. The rotary switch defines the steps as the plugin does so if switched to 3 then only 3 steps are active and only the first 3 leds step 1-3. If i were to use midi clock for this is it possible?,  so the midi clock is forwarded to drive the 8 leds but they are defined by the rotary switch 1 through to 8 leds in use for the steps   so in effect the midi clock is always sent to the leds but the ones lit up at any time are set by the steps rotary switch. I have everything else working, Maps, Range values and radio buttons, the steps knob works fine using my 8 position single pole rotary switch, and i am reading up on midi clock code at the moment.   thanks      
  13. understanding the .ngc code

    Had a little fun checking this out tonight, all working fine, I applied 8 enocders to various functions and then gave each label 10 characters on the lcd top and bottom row. 1. you define the amount of max characters by the spaces between the ".........." commas. For example if i put "VCO1 FILT " there are 9 characters and a single blank space. The next free character is 11 The spacing is then on a 40x2 display: pos 1= 1:1:1   pos 2= 1:11:1   pos 3=1:21:1  pos 4=1:31:1 pos 5= 1:1:2   pos 6= 1:11:2   pos 7=1:21:2  pos 8=1:31:2 For the COND_LABEL  is used Dp1 so I wrote this to test RESET_HW # 40x2 10 character per 8 encoder test ENC n=  1   sr=1 pins=0:1   type=detented3 EVENT_ENC    id=  1 fwd_to_lcd=1  type=CC  cc=16 range= 0:127 lcd_pos=1:1:1 label="^Dp1" ENC n=  2   sr=1 pins=2:3   type=detented3 EVENT_ENC    id=  2 fwd_to_lcd=1  type=CC  cc=17 range= 0:127 lcd_pos=1:11:1 label="^Dp2" ENC n=  3   sr=1 pins=4:5   type=detented3 EVENT_ENC    id=  3 fwd_to_lcd=1  type=CC  cc=18 range= 0:127 lcd_pos=1:21:1 label="^Dp3" ENC n=  4   sr=1 pins=6:7   type=detented3 EVENT_ENC    id=  4 fwd_to_lcd=1  type=CC  cc=19 range= 0:127 lcd_pos=1:31:1 label="^Dp4" ENC n=  5   sr=1 pins=0:1   type=detented3 EVENT_ENC    id=  5 fwd_to_lcd=1  type=CC  cc=20 range= 0:127 lcd_pos=1:1:2 label="^Dp5" ENC n=  6   sr=1 pins=2:3   type=detented3 EVENT_ENC    id=  6 fwd_to_lcd=1  type=CC  cc=21 range= 0:127 lcd_pos=1:11:2 label="^Dp6" ENC n=  7   sr=1 pins=4:5   type=detented3 EVENT_ENC    id=  7 fwd_to_lcd=1  type=CC  cc=22 range= 0:127 lcd_pos=1:21:2 label="^Dp7" ENC n=  8   sr=1 pins=6:7   type=detented3 EVENT_ENC    id=  8 fwd_to_lcd=1  type=CC  cc=23 range= 0:127 lcd_pos=1:31:2 label="^Dp8" then there were the .NGL conditional labels in thier own tables from Dp1 to Dp8, I was really pleased it all worked first time and did what I wanted it to. Going to play with banks again tomorrow and see if how i can implement that in as well.
  14. understanding the .ngc code

    Ah got it. i will change the the label variable to a abbreviated syntax instead, i can define my own syntax list then in the .ngl file and reference that.   Thanks again.