ssp

Programmer
  • Content count

    585
  • Joined

  • Last visited

Everything posted by ssp

  1. multiple Clcd's

    just got the ainser 64 running set it to a single pot for now to test. and here we go!!.. EOL
  2. multiple Clcd's

    I read in the lcd hardware section about putting multiple clcds onto the Ng is possible in this link : http://www.ucapps.de/mbhp/mbhp_lcd_6x2x20_mios32.pdf Question: Is it possible to attach 16 X  1 line 3 digit clcd's to the NG and have each one,  via code  linked to either a rotary pot or encoder in its value state? (would rather go this route) i understand an easier option is to either use oled displays or a single 2x40 with padded values spaced equally however,  thi cldcd route is something i really want to try out I want to build a vintage plugin controller and it has 16 3 digit clcds in its on screen display. The other reason for the clcds is that i want the old red segments. the other option i thought of was using one 2x40 clcds and padding them out so there are 4 sets of values per line but each value is padded equally and shows the 0-127 value above each pot/encoder now I understand the use of the padding for a name and the id-value, I just need a poke in the right direction as to which is the better option.  
  3. Someone left the door open and the light was on... So I had a quick look at the artwork.....  This is like getting a lapdance from your favourite movie star but you can't touch.!!  You sir are a tease, but I like you :).....     Queing patiently 
  4. 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.   
  5. 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...
  6. 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
  7. 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
  8. is it strange??

    New Edit! EOL
  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. 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  
  11. I am getting to grips with the code however, can someone enlighten me on the last section of this example string> EVENT_BUTTON id=1 type=NoteOn key=36 lcd_pos=1:1:1 label="Button #%3i: %3d"    what is this section referencing/meaning?   #%3i: %3d so when i look at this i see (EVENT_BUTTON id=1)   the button id is 1 this is the first button on D0 (type=NoteOn key=36)     the midi event it is producing is a note on key value 36 (lcd_pos=1:1:1)   it is shown on lcd 1, line 1, (what is the 3rd 1 for?) (label="Button #%3i: %3d" )   and you got me here... no clue!!   Thanks
  12. understanding the .ngc code

    panel test day, checking fitment on led's and tact switches, then the pcb.
  13. 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?    
  14. 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.  
  15. 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      
  16. 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.
  17. 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.
  18. 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.
  19. understanding the .ngc code

    I didnt see this, thanks for the heads up on this jjonas, most appreciated!!  it would be nice though as its a 2x40 and im using 8 encoders to be able to balance this out to 10 max characters per label. because you can then reduce it per your needs.   I wonder if this is something that Thorsten could implement ? where you can set your max characters in the .ngl file
  20. understanding the .ngc code

    Just sat working on a conditional label test and something wierd is happening. I made two files test.ngc and test.ngl with one encoder attached in the .ngc RESET_HW # this command is part of a .NGC file: ENC n=  1   sr=1 pins=0:1   type=detented3 EVENT_ENC    id=  1  type=CC  cc=16 range= 0:127 lcd_pos=1:1:1 label="^Destpanel " in the .ngl COND_LABEL   Destpanel COND =0    "VCO1 FREQ" COND =1    "VCO1 PW  " COND =2    "VCO1 VOL " COND =3    "VCO2 FREQ" COND =4    "VCO2 PW  " COND =5    "VCO2 VOL " COND_ELSE  "--------"   On the 2x40 display all i get in the first line character is the "l" nothing else however, If i change ^Destpanel  to just ^Dest then it shows VCO1 FREQ on the lcd.  Why if i put the full ^destpanel am i getting the leter L instead?   It seems it only likes 8 characters, by removing 1 letter on each ^Destpanel to ^Destpane it works. Is there an 8 character limit on the "Cond_Label" title name? if so can this be changed anywhere?    
  21. understanding the .ngc code

    I have had to admit defeat on the NRPN's tonight and have msg'd Thorsten for some advice/help.  the latest rev is great for the negatives etc, but its the dual commands i am stuck with and working out the values for nrpn and lsb msb etc. Crazy math frying my brain.
  22. understanding the .ngc code

    happy face this evening, needed to test some controls on a plugin and i just sat and wrote the code straight in and it worked first time, really happy guy!
  23. understanding the .ngc code

    This evening I continued playing with the .NCG code and the various conditional labels code and the assignments in the .NGC file. Using Thorstens Blofeld templates i altered a few basic things to try them out. 1. The scs encoder was not changing the bank when turned, as i dont have a blofeld to connect it too so my solution was to change a little code I changed enc_emu_id=2000 to enc_emu_id=2000 type=detented2 and I also hashed out this line as i didn't need it. #EVENT_LED id=2000 fwd_to_lcd=1 lcd_pos=1:1:1 label="^bank" I was now able to change the bank. I also change a few other sections of code and encoder id's to see what would happen if linked to a second din. All has worked and I now have a good understanding of the use of conditional labels, banks and values. Also the use of the meta command here in this string: EVENT_ENC    id=2000  type=Meta   meta=SetBank   range=1:5. The .NGC commands and syntax are becoming more clear to me everyday now. My next challenge is learning NRPN's and applying them to negative values a feature in the latest update. I have also played with the -64..0..+64 today as well. What I have found helpful is printing out all the manuals, and having them to read when not on the computer, I like to mark things up as I go.
  24. understanding the .ngc code

    Had a really good evening learning the code structure for the condition labels, I made a new test .ngc and .ngl file and wrote a small section of code in and it all worked. I was able to set up a set of conditional lables and also banks and set values for triggering the different lables on the press of a button or an ecoder or pot. forwarding then to an oled or clcd of choice and also forwarding the value to an lcd matric (7 segment 3 digit display) Some of the plug-ins i am building my controllers for have in thier gui small 1x6 and 1x8 virtual clcds so i can now replicate them in my hardware and not rely on a recieved input to show them.