goodweather

Forum Replies Created

Viewing 20 posts - 21 through 40 (of 550 total)
  • Author
    Posts
  • in reply to: what do you need to know in order to make panels? #120074
    goodweather
    Participant
      • Topics: 45
      • Replies: 550
      • Total: 595
      • ★★★

      Hi BAUS, I would suggest to start a new thread focusing only on your Mirage panel instead of this generic one.
      Would be easier I guess.
      For what you want to achieve, you can have a look at my Pro2 panel.
      In summary:
      – in PanelLoaded I call AssignModulators which assign all modulators to variables that I can use in all methods in the panel
      – you have your method to request a patch then MidiMessageReceived should check the size and process it. Look at my MidiMessageReceived method
      – you may need a pack/unpack method to code/decode the middle part of your sysex message
      – usually I’m coding a LoadProgramData and SaveProgramData that are extracting/storing the bytes from/to a memoryblock into/to modulators value. Other people are using tables or value pairs. I’m using memory blocks because I think there are dead simple and represents the actual data.
      Those things are the base…
      Good luck!

      in reply to: Saved Panels are cut of on the bottum #120054
      goodweather
      Participant
        • Topics: 45
        • Replies: 550
        • Total: 595
        • ★★★

        Hi, this is a well known problem repeated several times on the forum 😉
        You need to add 24px at the bottom to have it nice.

        in reply to: Build Ctrlr on Windows 10 and others #120036
        goodweather
        Participant
          • Topics: 45
          • Replies: 550
          • Total: 595
          • ★★★

          Proficiat! Really happy about that!!!
          I’ll have a look. I’m in VS2019.

          We should create a new full package with only the necessary files and folders.
          Add what is missing and remove what is too much (Juce examples and co…).
          When this is OK, we can re-add the other stuff but documenting this is not needed as such for Ctrlr.

          in reply to: User text input for uiListBox? #120035
          goodweather
          Participant
            • Topics: 45
            • Replies: 550
            • Total: 595
            • ★★★

            OK guys, I see it is indeed gone.. So here it is again (yesterday I couldn’t post it twice…).

            Hi, not sure if I fully understand what you want to achieve…
            So, I’m assuming you have a listbox containing all your patches and you want to save the one which is selected.

            I’m doing the following in my librarian (as in my Pro 2 or Prologue panel):
            – I have a separate uiLabel that gets populated when the user clicks on one line in the listbox
            – I have a “program action” pulldown and Proceed button that allows performing many different operations. One of them is Save to single file. Here is the code as example (txtSource is the uiLabel that contains the selected patch, mbSynth1 is a memory block containing all programs listed in the listbox)

            	-- Save program to disk ((single program .syx file - always a 392 single program buffer dump to be bank and program independent)
            	elseif iAction==6 then
            
            		if txtSource:getComponent():getProperty("uiLabelText")=="" then
            			utils.warnWindow("Save program to disk", "Error: you must have a source program to perform a Save.\nLoad banks, select a source program (left-click) then retry the Save action.")
            			return
            		end
            
            		-- No usage of bConfirm here as you have the occasion to Cancel in the Save File dialog box
            
            		-- Prepare program data memoryblock
            		iSourceProgram = tonumber(string.sub(txtSource:getComponent():getProperty("uiLabelText"), 5, 7))-1
            		mbTemp = MemoryBlock ({0xF0, 0x42, 0x30, 0x00, 0x01, 0x4B, 0X40})
            		mbTemp:append (mbSynth1:getRange(9+iSourceProgram*394, 385))
            		
            		f = utils.saveFileWindow ("Save Prologue single program dump sysex file", File(""), "*.syx", true)
            		if f:isValid() then
            			if f:existsAsFile()==false then
            				f:create()
            			end
            			f:replaceWithData(mbTemp)
            			utils.infoWindow("Save program to disk", "Program '"..txtSource:getComponent():getProperty("uiLabelText").."' saved in \n"..f:getFullPathName())
            		end
            

            Good luck!

            in reply to: User text input for uiListBox? #120025
            goodweather
            Participant
              • Topics: 45
              • Replies: 550
              • Total: 595
              • ★★★

              FYI, I made a long reply but don’t see my text after an edit…
              Will wait till tomorrow to see if it gets published. If not, I’ll redo it (I did a copy /paste of the text)

              in reply to: User text input for uiListBox? #120024
              goodweather
              Participant
                • Topics: 45
                • Replies: 550
                • Total: 595
                • ★★★

                Hi, not sure if I fully understand what you want to achieve…
                So, I’m assuming you have a listbox containing all your patches and you want to save the one which is selected.

                I’m doing the following in my librarian (as in my Pro 2 or Prologue panel):
                – I have a separate uiLabel that gets populated when the user clicks on one line in the listbox
                – I have a “program action” pulldown and Proceed button that allows performing many different operations. One of them is Save to single file. Here is the code as example (txtSource is the uiLabel that contains the selected patch, mbSynth1 is a memory block containing all programs listed in the listbox)

                	-- Save program to disk ((single program .syx file - always a 392 single program buffer dump to be bank and program independent)
                	elseif iAction==6 then
                
                		if txtSource:getComponent():getProperty("uiLabelText")=="" then
                			utils.warnWindow("Save program to disk", "Error: you must have a source program to perform a Save.\nLoad banks, select a source program (left-click) then retry the Save action.")
                			return
                		end
                
                		-- No usage of bConfirm here as you have the occasion to Cancel in the Save File dialog box
                
                		-- Prepare program data memoryblock
                		iSourceProgram = tonumber(string.sub(txtSource:getComponent():getProperty("uiLabelText"), 5, 7))-1
                		mbTemp = MemoryBlock ({0xF0, 0x42, 0x30, 0x00, 0x01, 0x4B, 0X40})
                		mbTemp:append (mbSynth1:getRange(9+iSourceProgram*394, 385))
                		
                		f = utils.saveFileWindow ("Save Prologue single program dump sysex file", File(""), "*.syx", true)
                		if f:isValid() then
                			if f:existsAsFile()==false then
                				f:create()
                			end
                			f:replaceWithData(mbTemp)
                			utils.infoWindow("Save program to disk", "Program '"..txtSource:getComponent():getProperty("uiLabelText").."' saved in \n"..f:getFullPathName())
                		end
                

                Good luck!

                in reply to: Build Ctrlr on Windows 10 and others #119954
                goodweather
                Participant
                  • Topics: 45
                  • Replies: 550
                  • Total: 595
                  • ★★★

                  OK. Some (training) progress. Created hello world project, different branches with changes, sync with Github…
                  So, indeed also found how to compile that simple project, with or without debugger.

                  I cloned Ctrlr to my local PC but I wanted to have it also in Github under my ID as I didn’t want to do changes on Roman’s work (of course!). So I did a fork.

                  I have now added a 5.3.201 branch to make changes and will also try building my own master branch.
                  Need to learn about CMAKE and understand how all libraries are connected.
                  Can you point me to where I find all the involved libraries, how to add them…?
                  Which file is mastering the build? CMakeLists.txt? . sln files? others?

                  What is Ctrlr.jucer?

                  In the ctrlr repository there are many .sln files. I took HelloWorld from the VS2017 JUCE examples
                  Will have a look at that

                  Are there difference between VS2017 and VS2019? Shall I create a VS2019 for each VS2017 or earlier I find?
                  Maybe a good exercise to understand how everything is articulated…

                  Jesus, so many question marks… Keep cool, man,you will find your way…

                  in reply to: Build Ctrlr on Windows 10 and others #119951
                  goodweather
                  Participant
                    • Topics: 45
                    • Replies: 550
                    • Total: 595
                    • ★★★

                    Didn’t look further yet. Will first experience with making a branch, doing a change, committing, look at the history…
                    At this stage I have absolutely no clue on how to compile this solution, what files are needed, where do you describe the files you need, where do you store them…
                    Feel like a total beginner (and so I am) even if I have a quite good programming experience.
                    So, will first play with some “Hello world” project then tackle Ctrlr.
                    I’m pretty sure we can find all we need. It is just a question of time…
                    Thx for your support!

                    in reply to: Build Ctrlr on Windows 10 and others #119828
                    goodweather
                    Participant
                      • Topics: 45
                      • Replies: 550
                      • Total: 595
                      • ★★★

                      Thx Tedjuh. I will follow your explanations and report back.
                      Today I watched some good explanations on Github and VS2019. Will play a bit with that as well.

                      I’m a patient guy and I’m digging into things layer by layer, exactly in the same way I learned Ctrlr and where I’m trying different things one at a time.
                      When you don’t have someone putting you directly on the rails, it is the only way (including the very nice exchanges on this forum; sometimes it feels as we were all close friends in the same hobby club; this is great 🙂 ).

                      in reply to: Build Ctrlr on Windows 10 and others #119798
                      goodweather
                      Participant
                        • Topics: 45
                        • Replies: 550
                        • Total: 595
                        • ★★★

                        I have exactly the same reasoning as you Tedjuh. 5.3.201 is the starting point to reach and from there we can start implementing small changes / bug corrections. I have myself no intention to implement a new version of Juce. Just to correct some boring bugs and to implement the explanations of all properties (we have links but no explanation).


                        @Tedjuh
                        , did you look at what I wrote as problems/questions? Any clue or hints.
                        Will follow some VS2019 YT training videos to understand branches and history.

                        in reply to: Build Ctrlr on Windows 10 and others #119791
                        goodweather
                        Participant
                          • Topics: 45
                          • Replies: 550
                          • Total: 595
                          • ★★★

                          Good that we are doing the same 🙂
                          But I didn’t reach very far…

                          I had also installed VS2019 with the C++ desktop and SDK Win 10 (just checked). So there we are aligned.
                          I cloned ctrlr in 2 ways to my local PC and both are giving errors that I don’t understand what to do…

                          1. From within Github, I cloned Ctrlr with Github Desktop and I have thus the folder structure on my PC.
                          When opening the VS2017 .sln file in Builds, I get 3 errors in the output window claiming for missing files (Documents\GitHub\ctrlr\Builds\VisualStudio2017\Ctrlr_StandalonePlugin.vcxproj, Documents\GitHub\ctrlr\Builds\VisualStudio2017\Ctrlr_VST.vcxproj, Documents\GitHub\ctrlr\Builds\VisualStudio2017\Ctrlr_SharedCode.vcxproj)
                          This is from the master branch.

                          I can see the different branches and see the stable; Exploring a bit VS2019 I saw I could get the history of the stable branch. There in november 2019 you can see there is a folder VS2019 with a .sln file in it. It also contains the msising files I’m mentioning above.
                          What shall I do to use that stable branch? Fetch? Create local branch from?
                          How to get this stable as starting point in another project?

                          2. From VS2019, I cloned ctrlr and it has been added to my local Git repositories in Sources\repos
                          When I want to switch to the stabe branch I get a message “Cannot switch to the stable branch because there are uncommited changes”
                          All the changes are in JUCE/Extras and JUCE/Doxygen directories.
                          What is happening if I’m doing that commit? Is this happening only on my local version?
                          Don’t want to mess up with the official Ctrlr.
                          I want to only work locally on my PC.

                          Thx for your help.
                          Will try to find some YT video on VS2019 explaining the branches, ways of working, commit, history navigation, retrieval of previous versions, etc…

                          in reply to: Build Ctrlr on Windows 10 and others #119779
                          goodweather
                          Participant
                            • Topics: 45
                            • Replies: 550
                            • Total: 595
                            • ★★★

                            I installed VS2019 and cloned the ctrlr git from within VS2019. Went fine.
                            Got errors when loading the .sln file from the VS2017 folder.
                            Are you using VS2019 or shall I install VS2017 to be sure to be compatible with this .sln file?
                            Thx for your help

                            in reply to: Build Ctrlr on Windows 10 and others #119778
                            goodweather
                            Participant
                              • Topics: 45
                              • Replies: 550
                              • Total: 595
                              • ★★★

                              Thx for you answer! I’m not looking about compiling on/for MacOS at this stage.
                              So, just a beginner on this build and compile stuff and I’m on PC.

                              OK. So, I will follow your advice and install Visual Studio instead. I used it 20 years ago 😉
                              I took Code::Blocks because the files in the Builds folder are more recent for Code::Blocks than VS2017.
                              As you took the VS way, I wil do the same and from there we can help each other.

                              When going to the Build folder, there is a .sln file for VS and a .cbp for Code::Blocks.
                              I opened the .cbp and as said above I see all the files in the project. Fine

                              Then how do I compile all that stuff? Don’t I need first to install some librairies (Juce…) or…
                              This was my question with my post 😉

                              I want also to learn to identify the changes made in each version since 5.3.201 and want to have a starting project as 5.3.201 because this is the only version I trust at the moment (even if I’m sure that more recent ones brought nice stuff but from what has been written, also destroyed some working stuff).

                              in reply to: Looking for the basic sysex receive/send panel #119765
                              goodweather
                              Participant
                                • Topics: 45
                                • Replies: 550
                                • Total: 595
                                • ★★★

                                Great job dnaldoog.
                                Don’t need that myself but thx for the Ctrlr community!

                                in reply to: getSize only looking at last byte number #119726
                                goodweather
                                Participant
                                  • Topics: 45
                                  • Replies: 550
                                  • Total: 595
                                  • ★★★

                                  Thx Thomas but the link to the Midi implementation is not working.
                                  Nice pseudo 😉
                                  /Dominique

                                  in reply to: Difficult to use on Windows Pro 10 #119722
                                  goodweather
                                  Participant
                                    • Topics: 45
                                    • Replies: 550
                                    • Total: 595
                                    • ★★★

                                    Hi, I made that panel 😉
                                    Did you look at the manual?
                                    There are no context menus neither drag and drop functionality…

                                    What is your starting situation? Do you have a bank file on your disk? If not use F5 or F8 that I provide.
                                    Go to the Program Library tab
                                    Click on Disk1 or Disk 2 label on top of the banks. This is selecting the bank you are acting on
                                    In the bank action pulldown, select load from Disk then press the proceed button
                                    The bank is loaded and yo can see the presets
                                    If you left click on a preset it is going to the blue source text box
                                    If you right click on a preset it is going to the purple destination text box
                                    Then use the Program actions pulldown to select an action
                                    The press the Program proceed button.

                                    Let me know if this put you on the way. If not, please explain further what you are after and what is not working. I’ll do it here with my Pro-2 😉

                                    in reply to: getSize only looking at last byte number #119721
                                    goodweather
                                    Participant
                                      • Topics: 45
                                      • Replies: 550
                                      • Total: 595
                                      • ★★★

                                      Can you post the link to the S700 midi implementation so I can have a look?

                                      If there is some pattern in the exchange then it can be coded easily like:
                                      – button to request load. Initialize MB. counter=0
                                      – MidiMessageReceived: check received message, if byte(1)=0x40 then append to MB; send ACK; counter =1
                                      else if size=60 then append to MB, send ACK; counter = counter+1
                                      else if byte(0)=0xF7 then append to MB; display MB or do whatever with the data

                                      So, forget about my proposal to use a timer to send ACK (didn’t know it would interfere); we control it based on what we are receiving.

                                      in reply to: getSize only looking at last byte number #119699
                                      goodweather
                                      Participant
                                        • Topics: 45
                                        • Replies: 550
                                        • Total: 595
                                        • ★★★

                                        Hello all, maybe time to come back on this tricky one 🙂
                                        I didn’t remember Possemo’s answer that the S700 doesn’t send a complete message and expects some regular ACK before sending an F7.
                                        Different things coming to my mind:
                                        1/ test what MidiMessageReceived is doing. Does it accept all kinds of messages or must all messages ends with F7
                                        2/ if it accepts all messages then we could do something like
                                        – create a memoryblock outside MidiMessageReceived : mbMessage = MemoryBlock()
                                        – in MidiMessageReceived, append message to memory block; check if message contains F7; if yes then call method to process the memory block; if not send ACK
                                        3/ create a timer that will send ACK every x ms (100ms?) In MidiMessageReceived, you append to the memoryblock until you get some F7 then you stop the timer and process the message

                                        Not possible to test this without an S700 I’m afraid…

                                        Don’t forget to use the Midi monitor to see what you are getting and sending!

                                        in reply to: using SVG files… #119536
                                        goodweather
                                        Participant
                                          • Topics: 45
                                          • Replies: 550
                                          • Total: 595
                                          • ★★★

                                          No experience with SVG and Ctrlr from my side…

                                          goodweather
                                          Participant
                                            • Topics: 45
                                            • Replies: 550
                                            • Total: 595
                                            • ★★★

                                            To come back on the initial question… FYI, I implemented this feature on my Odyssey panel some time ago.
                                            If you are interested I can provide you explanations or publish here.
                                            32 FX algorithms, each 3 parameters that can be of different kinds, only 3 modulators to handle them.
                                            So, acc. to the parameter type (int, float, table… I’m changing the behavior of the mod (min, max, display, steps).
                                            When switching algorithm, the mods are changing, the previous values displayed…

                                            And I have also now the DP4 that the Belgian guy was selling 😉

                                          Viewing 20 posts - 21 through 40 (of 550 total)
                                          Ctrlr