BUG: tested same Panel with Win32 and x64 Ctrlr exe – scripts malfunction

Home Forums Development BUG: tested same Panel with Win32 and x64 Ctrlr exe – scripts malfunction

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #70020
    t0f4st
    Participant
      • Topics: 5
      • Replies: 13
      • Total: 18

      Hello @atom and other developers.

      I got an huge problem. I developed an Panel on a Windows 10 x64 Bit machine and all works fine. The Panel also works on a Windows 7 x64 Bit machine.

      But if i run the Panel on the machines with Ctrlr-Win32.exe the scripts completly misbehave / malfunction.

      I’m doing basic String comparison and it fails.

      For example modulator name = “lbl_1_01”
      with Win32.exe the script: currentModName:startsWith ("Efx1") returns an true!!! – which is completly bullshit
      with x64.exe the script: currentModName:startsWith ("Efx1") returns an false!!!

      the panel is my studywork so i dont upload it here in the public but i can mail it.

      greetings
      t0f4st

      • This topic was modified 7 years, 6 months ago by t0f4st.
      Attachments:
      You must be logged in to view attached files.
      #70083
      t0f4st
      Participant
        • Topics: 5
        • Replies: 13
        • Total: 18

        i created a new panel in x64 version to trace back the bug.

        open in Ctrlr-x64.exe -> no problem
        open in Ctrlr-Win32.exe -> malfunction

        Attachments:
        You must be logged in to view attached files.
        #70085
        msepsis
        Participant
          • Topics: 219
          • Replies: 732
          • Total: 951
          • ★★★

          Common misconception you might share:
          “Latest is greatest”
          Not true here.

          I would recommend going back a few versions in ctrlr.
          Incidentally you haven’t mentioned what ctrlr rev you are using – that’s paramount to the types of issues you describe. .

          Try it in 5.3.50.. does the issue persist? If so go back earlier
          1590 is my go-to for sanity checking things like this as it was quite solid although missing a few of the updates (Lua, Juce, etc) that the more recent revs have.
          Generally in the larger picture of functionality and stability 1590 likely isn’t missing anything you need to be honest, although I have no clue what it is your panel is to be doing.

          Also incredibly important at least in my experience when debugging stuff like this and testing out different ctrlr revs –
          CRITICAL that you trash ctrlr preferences to ensure you’re starting w/o snowballing issues. This is especially important when changing revs.

          If you’re running into issues testing an exported instance (app, exe or vst/au) you’ll be wanting to trash the preferences for that panel instance name… settings/prefs for that panel will be in the same location as the ctrlr folder, but the folder will be named the same as the panel’s exported instance. .

          • This reply was modified 7 years, 6 months ago by msepsis.

          Monstrum Media | Music, Sound & Software Design, Chicago / San Francisco listen

          #70090
          t0f4st
          Participant
            • Topics: 5
            • Replies: 13
            • Total: 18

            Common misconception you might share:
            “Latest is greatest”
            Not true here.

            I would recommend going back a few versions in ctrlr.
            Incidentally you haven’t mentioned what ctrlr rev you are using – that’s paramount to the types of issues you describe. .

            i’m running build Ctrlr-5.3.201.exe
            problem exists in build 5.4.2, too.

            Try it in 5.3.50.. does the issue persist? If so go back earlier
            1590 is my go-to for sanity checking things like this as it was quite solid although missing a few of the updates (Lua, Juce, etc) that the more recent revs have.
            Generally in the larger picture of functionality and stability 1590 likely isn’t missing anything you need to be honest, although I have no clue what it is your panel is to be doing.

            my panel is doing simple string comparison. it iterates through all modulators in the panel and checks if the modulator name starts with an “Efx#”.

            currentModName = mod:getPropertyString("name")
            if (currentModName:startsWith("Efx1") == true) then ...
            

            The string comparing is working in x64.exe but not in win32.exe!

            i did a simpler readable version of my function to understand the process…

            
            function SingleEfxEnable(efxId)
            
            	console (string.format("SingleEfxEnable (enabledEfxId=%d)",efxId))
            
            	n = panel:getNumModulators() -1
            
            	for i=0,n do
            		mod = panel:getModulatorByIndex(i)
            		if(mod ~= nil) then
            		
            			currentModName = mod:getPropertyString("name")
            			isEfxModulator = false
            			
            			if (currentModName:startsWith("Efx1") == true) then
            				isEfxModulator = true
            				currentEfxId = 1
            			elseif (currentModName:startsWith("Efx2") == true) then
            				isEfxModulator = true
            				currentEfxId = 2
            			elseif (currentModName:startsWith("Efx3") == true) then
            				isEfxModulator = true
            				currentEfxId = 3
            			else
            				isEfxModulator = false
            			end
            		
            			if (isEfxModulator == true) then
            			
            				if (efxId == currentEfxId) then
            					isEfxEnable = true
            				else
            					isEfxEnable = false
            				end
            			
            				if (isEfxEnable == true) then
            					-- enable Mod and MIDI Message
            					mod : getComponent() : setProperty ("componentDisabled", 0, false)
            					currentMidiMessage = mod:getMidiMessage(0)
            					currentMidiMessage:setPropertyString("midiMessageType", "6")
            				else
            					-- disable Mod and MIDI Message
            					mod : getComponent() : setProperty ("componentDisabled", 1, false)
            					currentMidiMessage = mod:getMidiMessage(0)
            					currentMidiMessage:setPropertyString("midiMessageType", "9")
            				end
            			end
            		
            		end
            
            	end
            
            end
            

            Also incredibly important at least in my experience when debugging stuff like this and testing out different ctrlr revs –
            CRITICAL that you trash ctrlr preferences to ensure you’re starting w/o snowballing issues. This is especially important when changing revs.

            how to trash the ctrlr prefs?
            do you think of deleting %appdata%\Ctrlr\Ctrlr.settings ?
            … i already did that.

            • This reply was modified 7 years, 6 months ago by t0f4st.
            Attachments:
            You must be logged in to view attached files.
            #70098
            t0f4st
            Participant
              • Topics: 5
              • Replies: 13
              • Total: 18

              Try it in 5.3.50.. does the issue persist? If so go back earlier
              1590 is my go-to for sanity checking things like this as it was quite solid although missing a few of the updates (Lua, Juce, etc) that the more recent revs have.
              Generally in the larger picture of functionality and stability 1590 likely isn’t missing anything you need to be honest, although I have no clue what it is your panel is to be doing.

              i have tested the panel in every version. it runs only in the build 1590!!! every win32.exe above this build is malfunction the string method startsWith(…) !!!

              #70099
              msepsis
              Participant
                • Topics: 219
                • Replies: 732
                • Total: 951
                • ★★★

                Im really glad you got it working. Also great to compare notes and get some confirmation from someone else with a similar experience. I hope you didnt try each one since 1590 until you got what you were expecting out of it!!

                Monstrum Media | Music, Sound & Software Design, Chicago / San Francisco listen

                #70103
                t0f4st
                Participant
                  • Topics: 5
                  • Replies: 13
                  • Total: 18

                  Im really glad you got it working. Also great to compare notes and get some confirmation from someone else with a similar experience. I hope you didnt try each one since 1590 until you got what you were expecting out of it!!

                  well in fact i tested every version xD

                  and i’m only talking about the panel i recreated to showcase the bug. my full panel uses more lua api and i dont want to test all scripts and roll back to work with build 1590!

                  run the Ctrlr-Win32.exe of any build higher than 1590 and the following code will fail/malfunction:

                  testString = "Efx1_High"
                  compareString = "Efx1"
                  result = tostring(String(testString):startsWith( compareString ))
                  console (string.format( "%s startsWith %s == %s", testString, compareString, result ))

                  output:
                  Efx1_High startsWith Efx1 == false

                  please fix that

                  • This reply was modified 7 years, 6 months ago by t0f4st.
                  #70105
                  atom
                  Keymaster
                    • Topics: 159
                    • Replies: 2945
                    • Total: 3104
                    • ★★★★★

                    I’ll have a look at that, please post this on github so i don’t forget it.

                    #70108
                    t0f4st
                    Participant
                      • Topics: 5
                      • Replies: 13
                      • Total: 18
                    Viewing 9 posts - 1 through 9 (of 9 total)
                    • The forum ‘Development’ is closed to new topics and replies.
                    There is currently 0 users and 47 guests online
                    No users are currently active
                    Forum Statistics
                    Threads: 2,495, Posts: 17,374, Members: 77,605
                    Most users ever online was 12 on January 22, 2019 3:47 pm
                    Ctrlr