fundorin

Forum Replies Created

Viewing 20 posts - 1 through 20 (of 66 total)
  • Author
    Posts
  • in reply to: OSC isn't working #72458
    fundorin
    Participant
      • Topics: 8
      • Replies: 66
      • Total: 74

      That’s sad to hear and thanks for the info. I’ve waited from the last year for OSC to be fixed, but it seems that we are still on hold with this feature.

      in reply to: midi2osc bridge with lua #71726
      fundorin
      Participant
        • Topics: 8
        • Replies: 66
        • Total: 74

        OSC part isn’t ready at all, cause Ctrlr isn’t handling OSC messages right. I was waiting for a fixed version from the last year, to continue developing my panel, but it seems like atom doesn’t have enough time to add proper OSC functionality to Ctrlr.

        in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70768
        fundorin
        Participant
          • Topics: 8
          • Replies: 66
          • Total: 74

          I confirm that selecting and dragging issue is gone in the latest version of Ctrlr. Thanks. Are there any news about JUCE OSC implementation, yet?

          in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70697
          fundorin
          Participant
            • Topics: 8
            • Replies: 66
            • Total: 74

            The same thing happens with osc feedback as I’d reported before. The same value (and type) often repeats for different osc commands from host. I’ll wait for new OSC implementation, then.

            in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70696
            fundorin
            Participant
              • Topics: 8
              • Replies: 66
              • Total: 74

              Thanks for new build. I’ve got nil error immediately (the second time I chose track in Reaper, actually) with demo-osc panel. Then, when I’ve tried to save this panel with a new name, to make some changes, Ctrlr crashed with this message:

              View post on imgur.com

              in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70690
              fundorin
              Participant
                • Topics: 8
                • Replies: 66
                • Total: 74

                -del-

                in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70688
                fundorin
                Participant
                  • Topics: 8
                  • Replies: 66
                  • Total: 74

                  For now, I didn’t implement any OSC related stuff in my panel, since it has issues with the string arguments. I’d better wait until you’ll fix it. It doesn’t matter, which API will be used in Ctrlr, but I also think that native OSC support might be a better idea than using liblo, even if it was around for quite long and was used in many other apps, including VSTLua.
                  I’m all for JUCE OSC and for any API changes that you may find necessary. Since it seems that there’s no one else is using OSC in Ctrlr, apart from myself, from the time it was implemented in Ctrlr, I think that you can change everything and start from a blank page with OSC, if needed. It’s just hard to wait for me.
                  I think that I’ll start building my custom MIDI controller tomorrow, while waiting for OSC implementation in Ctrlr. 🙂

                  in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70657
                  fundorin
                  Participant
                    • Topics: 8
                    • Replies: 66
                    • Total: 74

                    This is a simple code that should print path and type at first line and corresponding string value for every type of parameter at the second line:

                    
                    onOSCMessage = function(path, types, arguments)
                    	
                    	console(path..' '..types)
                    	oscValue = string.format('%s', arguments[0])
                    	console(oscValue)
                    end
                    

                    Here’s the console log – https://dl.dropboxusercontent.com/u/8162257/OSCFromReaper.txt
                    As you can see, output isn’t stable at all. Sometimes float arguments have string value and some other time string arguments have float value.
                    Maybe this will help you to understand better what is happening, atom.

                    I feel like it might be a good idea to return arguments of the function as formatted strings by default for any type of data and put it into the table, so then user can reformat it into any type he needs, afterwards.

                    I mean, something like osc[0] – path string, osc[1] – types string, osc[2]…[x] – argument strings.
                    Or, osc[0] – path string, osc[0][0] – types string, osc[0][1]..[0][x] – argument strings.

                    Table can start at 1 instead of 0, I don’t think that it matters much.

                    Or, maybe, values should be put in arguments table already formatted by their type.

                    For example, Reaper understands and outputs the following types of arguments:
                    n: normalized floating-point argument. 0 means the minimum value, and 1 means the
                    maximum value. This can be used for continous controls like sliders and knobs.

                    f: raw floating-point argument. The argument is interpreted directly, to set or
                    report a value.

                    b: binary argument, either 0 or 1. The device sets or clears the state when
                    sending the message. Can be used to emulate switches or momentary controls.

                    t: trigger or toggle message. The device triggers the action, or toggles the
                    state, when the pattern is sent with no arguments, or with an argument of 1.
                    The feedback values REAPER sends are identical to those sent for binary
                    arguments.

                    r: rotary. The device triggers the action in the forward direction when sent
                    with an argument greater than ROTARY_CENTER, and in the reverse direction when
                    sent with an argument less than ROTARY_CENTER. For some messages, the magnitude
                    of the argument affects the rate of change. REAPER does not send feedback for
                    these messages. (rotary_center could be 0 or 0.5)

                    s: string. These messages include a string argument. Many of these messages
                    are sent from REAPER to the device for feedback/display, but some can be sent
                    from the device to REAPER.

                    i: integer. These messages include an integer argument, and are sent from the
                    device to REAPER.

                    So, Reaper can accept all those types, but outputs strings and floats, mainly.

                    P.S. BTW, you’re using variable “type” in the panel, which is the name of Lua’s global function for detecting type of the variable. The same advice that you gave me about not using a variable, named “value”, – don’t use a variable, named “type”. 😉

                    in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70653
                    fundorin
                    Participant
                      • Topics: 8
                      • Replies: 66
                      • Total: 74

                      Thanks. As you might already know, .16 crashed, while .11 version just showed error message and duplicated it contents in console, so user could continue working with Ctrlr. There was also a bug that prevented selecting more that three elements on the panel with lasso (Ctrlr hanged). This bug stayed in the latest build and I’ve found another variation of it: selecting more than three elements with mouse, while holding “ctrl” button on keyboard also hangs Ctrlr.

                      P.S. Good advice about not using “value” as variable name. Changed it to “oscValue”, but Ctrlr still crashes. One of ten times it’s working fine and then crashes with the very same script. Still cannot find out, what actions causes this issue. Could this be because Reaper sends too many OSC commands or sends them faster then Ctrlr is able to handle at once?

                      in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70651
                      fundorin
                      Participant
                        • Topics: 8
                        • Replies: 66
                        • Total: 74

                        This code works:

                        View post on imgur.com

                        But the very moment I try to print variable named “value” outside of the if.then statement, Ctrlr crashes, either I’ve declared variable “value” earlier or not.

                        in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70650
                        fundorin
                        Participant
                          • Topics: 8
                          • Replies: 66
                          • Total: 74

                          VSTLua is a VST that can run Lua scripts (midi, osc). It’s old, buggy and unsupported. It’s not as featured as Ctrlr, but it have bunch of preinstalled functions/utils and I had fun using it. http://www.hermannseib.com/VstLua/index.html
                          It wasn’t stable, so I’ve discarded it.
                          Sorry that I thought that those comments in demo panel were for me. 😉

                          in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70647
                          fundorin
                          Participant
                            • Topics: 8
                            • Replies: 66
                            • Total: 74

                            I don’t get it. At some point I was able to get string names of the tracks with simple code:

                            
                            onOSCMessage = function(path, types, arguments)
                            	console(path..' '..types)
                            
                            	if types == 's'then
                            		value = tostring(arguments[0])
                            	end
                            
                            	console(value)
                            end
                            

                            But when I’ve tried to add floats and integers via elseif, Ctrlr crashed and now, after removing all elseif’s, Ctrlr still crashes with the above code.

                            UPD. I’ve also found this comments:
                            — +1 index since arguments is a 0 indexed array
                            — and lua starts with 1
                            Even if Lua starts with 1 by default, it can easily access table indexes under key “0”.
                            “You can start an array at index 0, 1, or any other value: ” https://www.lua.org/pil/11.1.html

                            in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70646
                            fundorin
                            Participant
                              • Topics: 8
                              • Replies: 66
                              • Total: 74

                              I see that you wrote in comments: “in lua we can’t use [] for strings”.
                              In fact, I’ve succesfully used strings as table indexes with VSTLua and formatted them to my liking.

                              in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70644
                              fundorin
                              Participant
                                • Topics: 8
                                • Replies: 66
                                • Total: 74

                                Thank you for the new version.
                                Ctrlr crashes with demo panel and “pink log” only shows outgoing OSC from slider.

                                From Reaper I call “Refresh control surface” action, which sends all necessary info to remote device via OSC (strings, numbers, floats).

                                in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70640
                                fundorin
                                Participant
                                  • Topics: 8
                                  • Replies: 66
                                  • Total: 74

                                  I can add a font property to uiLCD i’m sure, as for JUCE’s font handling, i’m not touching that, i’m sure JUCE has done this much better then i would have ever done.

                                  No need to change JUCE’s font handling as I’ve already found out how to use monospaced font.
                                  Font property for uiLCD would be nice, though I don’t understand the difference between uiLabel and uiLCD for now.
                                  “Internal function this component should execute” option for uiImageButton would also be nice.

                                  P.S. I’m waiting for OSC fixes in the new build more than anything else, so I can start working on the code, finally. As for me, everything else isn’t as important as properly working OSC subsystem.

                                  in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70638
                                  fundorin
                                  Participant
                                    • Topics: 8
                                    • Replies: 66
                                    • Total: 74

                                    In uiButtons, over “Component position and size”

                                    There’s no such option in uiImageButton, only in uiButton. How did you add midi jack image to the button? Or is it just placed below transparent uibutton?

                                    in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70637
                                    fundorin
                                    Participant
                                      • Topics: 8
                                      • Replies: 66
                                      • Total: 74

                                      You’ll get into troubles, as Juce text is horizontally scaled always, monospaced fonts aren’t displayed correctly.

                                      I kinda solved this issue.

                                      in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70634
                                      fundorin
                                      Participant
                                        • Topics: 8
                                        • Replies: 66
                                        • Total: 74

                                        There’s no code, it’s just a property of uiButtons, “Internal function this component should execute”

                                        Can’t find it. Is it “Link to PANEL property”?

                                        in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70631
                                        fundorin
                                        Participant
                                          • Topics: 8
                                          • Replies: 66
                                          • Total: 74

                                          4. One can only use font from resources with uiLabel, but not with uiLCD. I’m having alignment issues, using uiLabel. I’ve made blue dots background to replicate SL’s LCD and can’t fit uiLabel properly, if characters number is less then 9 (9×8=72 as lcd is 72×2).

                                          5. Could you show me an example of how to use Juce API commands in Lua script? Would I be able to find the corresponding commands by myself in your DSI panel?

                                          I’ve read your guide, but it lacks of lua chapters, yet. The most important ones, as for me. Don’t you think it might be a good idea to create google docs document, so that selected forum members could edit your guide online?

                                          in reply to: Novation SL MkII and Reaper (MIDIOSC bridge) #70627
                                          fundorin
                                          Participant
                                            • Topics: 8
                                            • Replies: 66
                                            • Total: 74

                                            I have a couple of questions 😉

                                            1. How to change resource image of the modulator from script?

                                            2. How to set particular midi in and out from script, using getMidiDevicesList and/or modulator value?

                                            3. What is the code for “midi settings” window popup, in case that menu is hidden?

                                            4. How to add extra font for iuLCD modulator to replicate the one that is used for LCD by Novation?

                                            5. How to change icon of the standalone version? I’ve seen that this is possible in Snow Ed panel.

                                            6. How to handle double button presses with Lua script and how to differentiate them from single presses or holding the button?

                                            7. Is there a timer available in Ctrlr’s lua?

                                            P.S. More silly questions are coming! I wish there was Wiki for this type of questions.

                                          Viewing 20 posts - 1 through 20 (of 66 total)
                                          Ctrlr