Sysex problem – doubled sysex recived.

Home Forums General Programming Sysex problem – doubled sysex recived.

Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
    Posts
  • #48601
    daimondamps
    Participant
    • Topics: 8
    • Replies: 80
    • Total: 88

    Hi , i have some problem with my panel.
    I trying to dump sysex message wchich is 523 + 43 bytes long.
    From input monitor i have a whole nice message+ two control messages. But from my script and console i recive doubled sysex messagess??
    Output monitor:

    [09:12:31:000223]: Time(1.000000) [System exclusive] Ch:[--] No:[----] Val:[----] RAW:[f0 00 20 33 02 7f 7e 00 07 03 0b f7]
    [09:12:31:000959]: Time(1.000000) [System exclusive] Ch:[--] No:[----] Val:[----] RAW:[f0 00 20 33 02 7f 7e 00 05 03 f7]
    

    Input Monitor

    [09:12:31:000282]: Time(2248.429789) [Active Sense] Ch:[--] No:[----] Val:[----] RAW:[fe]
    [09:12:31:000574]: Time(2248.721800) [Active Sense] Ch:[--] No:[----] Val:[----] RAW:[fe]
    [09:12:31:000870]: Time(2249.017849) [Active Sense] Ch:[--] No:[----] Val:[----] RAW:[fe]
    [09:12:32:000062]: Time(2249.209822) [System exclusive] Ch:[--] No:[----] Val:[----] RAW:[f0 00 20 33 02 7f 7e 00 03 03 00 03 18 f7]
    [09:12:32:000258]: Time(2249.317836) [System exclusive] Ch:[--] No:[----] Val:[----] RAW:[f0 00 20 33 02 7f 7e 00 04 03 58 32 4a 73 59 57 35 72 49 43 30 67 4d 6a 41 78 4e 43 30 78 4d 43 30 78 4e 43 41 78 4d 79 30 77 4e 69 30 79 4f 53 35 72 61 58 42 79 43 56 39 69 62 47 46 75 61 77 70 55 63 6d 56 74 62 32 78 76 49 46 4e 73 59 58 41 67 4c 53 41 79 4d 44 45 30 4c 54 45 77 4c 54 45 30 49 44 45 7a 4c 54 45 34 4c 54 51 32 4c 6d 74 70 63 48 49 4a 56 48 4a 6c 62 57 39 73 62 79 42 54 62 47 46 77 43 6c 52 6f 5a 53 41 34 4d 48 4d 67 59 32 46 73 62 47 56 6b 4c 53 30 74 49 43 30 67 4d 6a 41 78 4e 43 30 78 4d 43 30 78 4e 43 41 78 4d 79 30 78 4d 79 30 30 4e 53 35 72 61 58 42 79 43 56 52 6f 5a 53 41 34 4d 48 4d 67 59 32 46 73 62 47 56 6b 4c 69 34 75 43 6c 4e 70 62 6d 64 73 5a 53 42 4f 62 33 52 6c 49 45 5a 31 62 6d 73 67 4c 53 41 79 4d 44 45 30 4c 54 45 77 4c 54 45 30 49 44 45 79 4c 54 55 34 4c 54 55 77 4c 6d 74 70 63 48 49 4a 55 32 6c 75 5a 32 78 6c 49 45 35 76 64 47 55 67 52 6e 56 75 61 77 70 4e 62 32 35 6b 62 32 31 76 52 43 41 74 49 44 49 77 4d 54 51 74 4d 54 41 74 4d 54 51 67 4d 54 4d 74 4d 54 4d 74 4d 44 67 75 61 32 6c 77 63 67 6c 4e 62 32 35 6b 62 32 31 76 52 41 70 45 61 58 4a 30 65 53 42 53 62 33 52 76 63 69 41 74 49 44 49 77 4d 54 51 74 4d 54 41 74 4d 54 51 67 4d 54 4d 74 4d 44 51 74 4d 6a 59 75 61 32 6c 77 63 67 6c 45 61 58 4a 30 65 53 42 53 62 33 52 76 63 67 70 43 61 57 64 6e 5a 58 49 67 4c 53 41 79 4d 44 45 30 4c 54 45 77 4c 54 45 30 49 44 45 7a 4c 54 45 32 4c 54 4d 34 4c 6d 74 70 63 48 49 4a 51 6d 6c 6e 5a 32 56 79 43 6b 46 74 59 6d 6c 6c 62 6e 51 67 56 32 46 7a 61 43 41 74 49 44 49 77 4d 54 51 74 4d 54 41 74 4d 54 51 67 4d 54 4d 74 f7]
    [09:12:32:000270]: Time(2249.417864) [System exclusive] Ch:[--] No:[----] Val:[----] RAW:[f0 00 20 33 02 7f 7e 00 04 03 4d 54 59 74 4d 54 51 75 61 32 6c 77 63 67 6c 42 62 57 4a 70 5a 57 35 30 49 46 64 68 63 32 67 4b f7]
    [09:12:32:000274]: Time(2249.421832) [System exclusive] Ch:[--] No:[----] Val:[----] RAW:[f0 00 20 33 02 7f 7e 00 06 03 28 37 f7]
    [09:12:32:000276]: Time(2249.424336) [Active Sense] Ch:[--] No:[----] Val:[----] RAW:[fe]
    [09:12:32:000482]: Time(2249.629840) [Active Sense] Ch:[--] No:[----] Val:[----] RAW:[fe]
    [09:12:32:000802]: Time(2249.949856) [Active Sense] Ch:[--] No:[----] Val:[----] RAW:[fe]
    [09:12:33:000106]: Time(2250.253871) [Active Sense] Ch:[--] No:[----] Val:[----] RAW:[fe]

    But from my script i receive doubled messages:/

    console output:

    Message typef0 00 20 33 02 7f 7e 00 06 03 28 37 f7
    memory block is 13 bytes, data:
    Message typef0 00 20 33 02 7f 7e 00 06 03 28 37 f7
    memory block is 13 bytes, data:
    Message typef0 00 20 33 02 7f 7e 00 03 03 00 03 18 f7
    memory block is 14 bytes, data:
    Message typef0 00 20 33 02 7f 7e 00 03 03 00 03 18 f7
    memory block is 14 bytes, data:
    Message typef0 00 20 33 02 7f 7e 00 04 03 58 32 4a 73 59 57 35 72 49 43 30 67 4d 6a 41 78 4e 43 30 78 4d 43 30 78 4e 43 41 78 4d 79 30 77 4e 69 30 79 4f 53 35 72 61 58 42 79 43 56 39 69 62 47 46 75 61 77 70 55 63 6d 56 74 62 32 78 76 49 46 4e 73 59 58 41 67 4c 53 41 79 4d 44 45 30 4c 54 45 77 4c 54 45 30 49 44 45 7a 4c 54 45 34 4c 54 51 32 4c 6d 74 70 63 48 49 4a 56 48 4a 6c 62 57 39 73 62 79 42 54 62 47 46 77 43 6c 52 6f 5a 53 41 34 4d 48 4d 67 59 32 46 73 62 47 56 6b 4c 53 30 74 49 43 30 67 4d 6a 41 78 4e 43 30 78 4d 43 30 78 4e 43 41 78 4d 79 30 78 4d 79 30 30 4e 53 35 72 61 58 42 79 43 56 52 6f 5a 53 41 34 4d 48 4d 67 59 32 46 73 62 47 56 6b 4c 69 34 75 43 6c 4e 70 62 6d 64 73 5a 53 42 4f 62 33 52 6c 49 45 5a 31 62 6d 73 67 4c 53 41 79 4d 44 45 30 4c 54 45 77 4c 54 45 30 49 44 45 79 4c 54 55 34 4c 54 55 77 4c 6d 74 70 63 48 49 4a 55 32 6c 75 5a 32 78 6c 49 45 35 76 64 47 55 67 52 6e 56 75 61 77 70 4e 62 32 35 6b 62 32 31 76 52 43 41 74 49 44 49 77 4d 54 51 74 4d 54 41 74 4d 54 51 67 4d 54 4d 74 4d 54 4d 74 4d 44 67 75 61 32 6c 77 63 67 6c 4e 62 32 35 6b 62 32 31 76 52 41 70 45 61 58 4a 30 65 53 42 53 62 33 52 76 63 69 41 74 49 44 49 77 4d 54 51 74 4d 54 41 74 4d 54 51 67 4d 54 4d 74 4d 44 51 74 4d 6a 59 75 61 32 6c 77 63 67 6c 45 61 58 4a 30 65 53 42 53 62 33 52 76 63 67 70 43 61 57 64 6e 5a 58 49 67 4c 53 41 79 4d 44 45 30 4c 54 45 77 4c 54 45 30 49 44 45 7a 4c 54 45 32 4c 54 4d 34 4c 6d 74 70 63 48 49 4a 51 6d 6c 6e 5a 32 56 79 43 6b 46 74 59 6d 6c 6c 62 6e 51 67 56 32 46 7a 61 43 41 74 49 44 49 77 4d 54 51 74 4d 54 41 74 4d 54 51 67 4d 54 4d 74 f7
    memory block is 523 bytes, data:
    Message typef0 00 20 33 02 7f 7e 00 04 03 58 32 4a 73 59 57 35 72 49 43 30 67 4d 6a 41 78 4e 43 30 78 4d 43 30 78 4e 43 41 78 4d 79 30 77 4e 69 30 79 4f 53 35 72 61 58 42 79 43 56 39 69 62 47 46 75 61 77 70 55 63 6d 56 74 62 32 78 76 49 46 4e 73 59 58 41 67 4c 53 41 79 4d 44 45 30 4c 54 45 77 4c 54 45 30 49 44 45 7a 4c 54 45 34 4c 54 51 32 4c 6d 74 70 63 48 49 4a 56 48 4a 6c 62 57 39 73 62 79 42 54 62 47 46 77 43 6c 52 6f 5a 53 41 34 4d 48 4d 67 59 32 46 73 62 47 56 6b 4c 53 30 74 49 43 30 67 4d 6a 41 78 4e 43 30 78 4d 43 30 78 4e 43 41 78 4d 79 30 78 4d 79 30 30 4e 53 35 72 61 58 42 79 43 56 52 6f 5a 53 41 34 4d 48 4d 67 59 32 46 73 62 47 56 6b 4c 69 34 75 43 6c 4e 70 62 6d 64 73 5a 53 42 4f 62 33 52 6c 49 45 5a 31 62 6d 73 67 4c 53 41 79 4d 44 45 30 4c 54 45 77 4c 54 45 30 49 44 45 79 4c 54 55 34 4c 54 55 77 4c 6d 74 70 63 48 49 4a 55 32 6c 75 5a 32 78 6c 49 45 35 76 64 47 55 67 52 6e 56 75 61 77 70 4e 62 32 35 6b 62 32 31 76 52 43 41 74 49 44 49 77 4d 54 51 74 4d 54 41 74 4d 54 51 67 4d 54 4d 74 4d 54 4d 74 4d 44 67 75 61 32 6c 77 63 67 6c 4e 62 32 35 6b 62 32 31 76 52 41 70 45 61 58 4a 30 65 53 42 53 62 33 52 76 63 69 41 74 49 44 49 77 4d 54 51 74 4d 54 41 74 4d 54 51 67 4d 54 4d 74 4d 44 51 74 4d 6a 59 75 61 32 6c 77 63 67 6c 45 61 58 4a 30 65 53 42 53 62 33 52 76 63 67 70 43 61 57 64 6e 5a 58 49 67 4c 53 41 79 4d 44 45 30 4c 54 45 77 4c 54 45 30 49 44 45 7a 4c 54 45 32 4c 54 4d 34 4c 6d 74 70 63 48 49 4a 51 6d 6c 6e 5a 32 56 79 43 6b 46 74 59 6d 6c 6c 62 6e 51 67 56 32 46 7a 61 43 41 74 49 44 49 77 4d 54 51 74 4d 54 41 74 4d 54 51 67 4d 54 4d 74 f7
    memory block is 523 bytes, data:
    Message typef0 00 20 33 02 7f 7e 00 04 03 4d 54 59 74 4d 54 51 75 61 32 6c 77 63 67 6c 42 62 57 4a 70 5a 57 35 30 49 46 64 68 63 32 67 4b f7
    memory block is 43 bytes, data:
    Message typef0 00 20 33 02 7f 7e 00 04 03 4d 54 59 74 4d 54 51 75 61 32 6c 77 63 67 6c 42 62 57 4a 70 5a 57 35 30 49 46 64 68 63 32 67 4b f7
    memory block is 43 bytes, data:
    Message typef0 00 20 33 02 7f 7e 00 06 03 28 37 f7
    memory block is 13 bytes, data:
    Message typef0 00 20 33 02 7f 7e 00 06 03 28 37 f7
    memory block is 13 bytes, data:
    

    This is my receiver script:

    --
    -- Called when a panel receives a midi message (does not need to match any modulator mask)
    -- @midi   CtrlrMidiMessage object
    --
    
    mystringglob=""
    Recivelist = function(midiMessage)
    
    if panel:getRestoreState() == true or panel:getProgramState() == true then
    		return
    	end
    
    	local messageType = midiMessage:getType()
    	console("Message type"..midiMessage:getData():toHexString(1))
    
    	if (messageType == 5 and midiMessage:getSize()~=2) then
    
    		local s = midiMessage:getSize() -- Size of the midi dump received
    		console ("memory block is "..midiMessage:getSize().." bytes, data:")
    
    		local recKPAID = midiMessage:getLuaData():getRange(1,3)
        	local recFunctionCode = midiMessage:getLuaData():getByte(6)
    		local Instance = midiMessage:getLuaData():getByte(7)
    		local recNrpnMSB = midiMessage:getLuaData():getByte(8)
    		local recNrpnLSB = midiMessage:getLuaData():getByte(9)
    
    		if (recFunctionCode == 0x7e and Instance == 0x00) then
    		
    			if (recNrpnMSB == 04 and recNrpnLSB ==03) then
    
    				local partialmessage=midiMessage:getData():getRange(10,s-12):toString()
    
    			
    				local mystring2=decBase64(partialmessage)
    
    			--	console ("\tpatch name as memory block: "..mystring2)
    				mystringglob=mystringglob..mystring2
    		
    		
    				elseif (recNrpnMSB == 06 and recNrpnLSB ==03) then
    
    				else
    			end
    		
    	    end
    	end
    end
    • This topic was modified 7 years, 1 month ago by daimondamps.
    • This topic was modified 7 years, 1 month ago by daimondamps.
    • This topic was modified 7 years, 1 month ago by daimondamps.
    • This topic was modified 7 years, 1 month ago by daimondamps.
    • This topic was modified 7 years, 1 month ago by daimondamps.
    • This topic was modified 7 years, 1 month ago by daimondamps.
    • This topic was modified 7 years, 1 month ago by daimondamps.
    • This topic was modified 7 years, 1 month ago by daimondamps.
    • This topic was modified 7 years, 1 month ago by daimondamps.
    • This topic was modified 7 years, 1 month ago by daimondamps.
    • This topic was modified 7 years, 1 month ago by daimondamps.
    • This topic was modified 7 years, 1 month ago by daimondamps.
    • This topic was modified 7 years, 1 month ago by daimondamps.
    #48625
    daimondamps
    Participant
    • Topics: 8
    • Replies: 80
    • Total: 88

    Thi is MIDI OX dump with the same two sysex commands(see mini input)

    This is strange – it seems that ctrlr is ommiting sysex message at end.

     
     00006A01   1   2     FE    --    --   --  ---  Active Sensing        
     00006B31   1   2     FE    --    --   --  ---  Active Sensing        
     00006C71   1   2     FE    --    --   --  ---  Active Sensing        
     00006DA1   1   2     FE    --    --   --  ---  Active Sensing        
     00006ED9   1   2     FE    --    --   --  ---  Active Sensing        
     00007009   1   2     FE    --    --   --  ---  Active Sensing        
     000070C9  MOX  2     F0  Buffer:    12 Bytes   System Exclusive      
     SYSX: F0 00 20 33 02 7F 7E 00 07 03 0B F7
     00007135   1   2     FE    --    --   --  ---  Active Sensing        
     00007142  MOX  2     F0  Buffer:    11 Bytes   System Exclusive      
     SYSX: F0 00 20 33 02 7F 7E 00 05 03 F7
     00007161   1   2     F0  Buffer:    14 Bytes   System Exclusive      
     SYSX: F0 00 20 33 02 7F 7E 00 03 03 00 03 18 F7
     00007211   1   2     F0  Buffer:   523 Bytes   System Exclusive      
     SYSX: F0 00 20 33 02 7F 7E 00 04 03 58 32 4A 73 59 57 35 72
     SYSX: 49 43 30 67 4D 6A 41 78 4E 43 30 78 4D 43 30 78 4E 43
     SYSX: 41 78 4D 79 30 77 4E 69 30 79 4F 53 35 72 61 58 42 79
     SYSX: 43 56 39 69 62 47 46 75 61 77 70 55 63 6D 56 74 62 32
     SYSX: 78 76 49 46 4E 73 59 58 41 67 4C 53 41 79 4D 44 45 30
     SYSX: 4C 54 45 77 4C 54 45 30 49 44 45 7A 4C 54 45 34 4C 54
     SYSX: 51 32 4C 6D 74 70 63 48 49 4A 56 48 4A 6C 62 57 39 73
     SYSX: 62 79 42 54 62 47 46 77 43 6C 52 6F 5A 53 41 34 4D 48
     SYSX: 4D 67 59 32 46 73 62 47 56 6B 4C 53 30 74 49 43 30 67
     SYSX: 4D 6A 41 78 4E 43 30 78 4D 43 30 78 4E 43 41 78 4D 79
     SYSX: 30 78 4D 79 30 30 4E 53 35 72 61 58 42 79 43 56 52 6F
     SYSX: 5A 53 41 34 4D 48 4D 67 59 32 46 73 62 47 56 6B 4C 69
     SYSX: 34 75 43 6C 4E 70 62 6D 64 73 5A 53 42 4F 62 33 52 6C
     SYSX: 49 45 5A 31 62 6D 73 67 4C 53 41 79 4D 44 45 30 4C 54
     SYSX: 45 77 4C 54 45 30 49 44 45 79 4C 54 55 34 4C 54 55 77
     SYSX: 4C 6D 74 70 63 48 49 4A 55 32 6C 75 5A 32 78 6C 49 45
     SYSX: 35 76 64 47 55 67 52 6E 56 75 61 77 70 4E 62 32 35 6B
     SYSX: 62 32 31 76 52 43 41 74 49 44 49 77 4D 54 51 74 4D 54
     SYSX: 41 74 4D 54 51 67 4D 54 4D 74 4D 54 4D 74 4D 44 67 75
     SYSX: 61 32 6C 77 63 67 6C 4E 62 32 35 6B 62 32 31 76 52 41
     SYSX: 70 45 61 58 4A 30 65 53 42 53 62 33 52 76 63 69 41 74
     SYSX: 49 44 49 77 4D 54 51 74 4D 54 41 74 4D 54 51 67 4D 54
     SYSX: 4D 74 4D 44 51 74 4D 6A 59 75 61 32 6C 77 63 67 6C 45
     SYSX: 61 58 4A 30 65 53 42 53 62 33 52 76 63 67 70 43 61 57
     SYSX: 64 6E 5A 58 49 67 4C 53 41 79 4D 44 45 30 4C 54 45 77
     SYSX: 4C 54 45 30 49 44 45 7A 4C 54 45 32 4C 54 4D 34 4C 6D
     SYSX: 74 70 63 48 49 4A 51 6D 6C 6E 5A 32 56 79 43 6B 46 74
     SYSX: 59 6D 6C 6C 62 6E 51 67 56 32 46 7A 61 43 41 74 49 44
     SYSX: 49 77 4D 54 51 74 4D 54 41 74 4D 54 51 67 4D 54 4D 74
     SYSX: F7
     0000721D   1   2     F0  Buffer:    43 Bytes   System Exclusive      
     SYSX: F0 00 20 33 02 7F 7E 00 04 03 4D 54 59 74 4D 54 51 75
     SYSX: 61 32 6C 77 63 67 6C 42 62 57 4A 70 5A 57 35 30 49 46
     SYSX: 64 68 63 32 67 4B F7
     00007221   1   2     F0  Buffer:    13 Bytes   System Exclusive      
     SYSX: F0 00 20 33 02 7F 7E 00 06 03 28 37 F7
     0000726D   1   2     FE    --    --   --  ---  Active Sensing        
     000072F1   1   2     F0  Buffer:    12 Bytes   System Exclusive      
     SYSX: F0 00 20 33 02 7F 7E 00 7D 03 01 F7
     00007395   1   2     FE    --    --   --  ---  Active Sensing        
     000074BD   1   2     FE    --    --   --  ---  Active Sensing        
     000075E1   1   2     FE    --    --   --  ---  Active Sensing        
     00007725   1   2     FE    --    --   --  ---  Active Sensing        
     0000785D   1   2     FE    --    --   --  ---  Active Sensing        
     00007989   1   2     FE    --    --   --  ---  Active Sensing        
     00007AAD   1   2     FE    --    --   --  ---  Active Sensing     
    • This reply was modified 7 years, 1 month ago by daimondamps.
    • This reply was modified 7 years, 1 month ago by daimondamps.
    #48685
    daimondamps
    Participant
    • Topics: 8
    • Replies: 80
    • Total: 88

    Bump!

    I have builded ctrlr from source to have debug version. I really want to track this issue down.
    Can anyone help me?
    I’t seems that panel recives doubled onMidiMessage event with the same midi syysex message.

    • This reply was modified 7 years, 1 month ago by daimondamps.
    #48724
    dasfaker
    Keymaster
    • Topics: 80
    • Replies: 793
    • Total: 873
    • ★★★

    That this happen using Midi-OX? It could be that messages are being sent twice to Ctrlr, depending on how you connected things. Did you tried without Midi-Ox?

    #48725
    daimondamps
    Participant
    • Topics: 8
    • Replies: 80
    • Total: 88

    No – I am monitoring only with midi OX and the sysex messages sended back are correct(recived one time only).
    But when I’m using Ctrlr(standalone – direct midi connection to device and without midi ox ) the Midi Message Received script is called twice per one sysex message, and I’m receiving twice the same message.

    • This reply was modified 7 years, 1 month ago by daimondamps.
    #48759
    atom
    Keymaster
    • Topics: 159
    • Replies: 2945
    • Total: 3104
    • ★★★★★

    I’ll check it out, i haven’t done any MIDI dumps recently with Ctrlr, it’s all been dry coding. I’ll sit down to it and see if i haven’t added a call that might be triggering the method more then once.

    #48761
    daimondamps
    Participant
    • Topics: 8
    • Replies: 80
    • Total: 88

    Thank you Atom:)

    #48764
    dasfaker
    Keymaster
    • Topics: 80
    • Replies: 793
    • Total: 873
    • ★★★

    and see if i haven’t added a call that might be triggering the method more then once

    This is not happening with any of my panels, if it helps.

    #59627
    daimondamps
    Participant
    • Topics: 8
    • Replies: 80
    • Total: 88

    I’ll check it out, i haven’t done any MIDI dumps recently with Ctrlr, it’s all been dry coding. I’ll sit down to it and see if i haven’t added a call that might be triggering the method more then once.

    I have the same problem with the VST instance:/(double sysex are send via script – the same panel ).
    Can you help?

    Cheers
    Damian

    EDIT:
    I found that CTRLR trigger LUA script twice – no matter what is in the script.
    I’ve attached my simple panel with only one script sending console output when DAW saves a project.
    In standalone mode script is called once – when i click Save CTRLR State.
    In DAW when i save the project script is called twice.

    Here is a log from VST :

    **********************************************************
    Ctrlr debug log
    Log started: 8 Oct 2015 10:35:46am
    
    [INFO    ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_base
    [INFO    ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_table
    [INFO    ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_string
    [INFO    ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_math
    [INFO    ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_io
    [INFO    ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_debug
    [INFO    ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_package
    [INFO    ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_os
    [INFO    ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_bit
    [INFO    ][10:35:46:000328]: CtrlrLuaManager::ctor luaopen_usb
    [INFO    ][10:35:46:000328]: CtrlrLuaManager::ctor luabind open
    [INFO    ][10:35:46:000328]: CtrlrLuaManager::ctor luabind bind_class_info
    [INFO    ][10:35:46:000333]: CtrlrLuaManager::ctor create debugger
    [INFO    ][10:36:06:000309]: CtrlrLuaMethodManager::call getlist
    [LUA     ][10:36:06:000309]: Rig tempo processing
    [INFO    ][10:36:06:000316]: CtrlrLuaMethodManager::call getlist
    [LUA     ][10:36:06:000316]: Rig tempo processing
    [WARN    ][10:36:33:000338]: CtrlrPanelMIDIInputThread::run stopping
    [WARN    ][10:36:33:000838]: CtrlrPanelMIDIInputThread::run stopping
    • This reply was modified 6 years, 8 months ago by daimondamps.
    • This reply was modified 6 years, 8 months ago by daimondamps.
    Attachments:
    You must be logged in to view attached files.
    #59739
    atom
    Keymaster
    • Topics: 159
    • Replies: 2945
    • Total: 3104
    • ★★★★★

    Sometimes it’s possible that the HOST will re-send the value you are setting again, so you get two parameter changes, one triggered from the host and one by you. I’m working on a mechanism that will show you in Lua where the change came from. But i’m not sure if it will help a lot, i will look into that double/message problem anyway.

    #59860
    daimondamps
    Participant
    • Topics: 8
    • Replies: 80
    • Total: 88

    Sometimes it’s possible that the HOST will re-send the value you are setting again, so you get two parameter changes, one triggered from the host and one by you. I’m working on a mechanism that will show you in Lua where the change came from. But i’m not sure if it will help a lot, i will look into that double/message problem anyway.

    Ok – now i have small progress:
    1. DAW when saving session make the ctrl double call luaPanelSaveState
    this was my DAW problem – i opened vst in another one and the scipt is callen once like it should
    This may be the problem :
    Problems recalling plugin state versus current preset
    I found workaround with simple timer to check minimal time between saves.

    DawSaveRequest= function(--[[ ValueTree --]]stateData)
    -- Makee sure that message is not doubled
    
    	if lastSaveTime == nil then
    	GetLastRigFileName()
    	console('DAW saves data')
    	else 
    	lapse = (Time.getMillisecondCounterHiRes() - lastSaveTime)/1000
    		if lapse>0.1 then
    		--console(String(lapse))
    		console('DAW saves data')
    		GetLastRigFileName()
    		end
    
    	end
    
    lastSaveTime=Time.getMillisecondCounterHiRes()
    
    end

    Now I have second problem:

    2. My simple midiMessageRecived script is called twice but in midi monitor i have only one incoming message.

    What i found is when i change panelMidiCtrlrDevice to none and then back to my Midi Device – the midiMessageRecived is called once per incoming message.

    Temporary workaround is to run script after panel is loaded:

    initialize = function()
    a=panel:getProperty("panelMidiControllerDevice")
    panel:setPropertyString("panelMidiControllerDevice","-- None")
    panel:setPropertyString("panelMidiControllerDevice",a)
    console(a)
    end
    • This reply was modified 6 years, 8 months ago by daimondamps.
    • This reply was modified 6 years, 8 months ago by daimondamps.
    #59891
    dasfaker
    Keymaster
    • Topics: 80
    • Replies: 793
    • Total: 873
    • ★★★

    This may be the problem :
    Problems recalling plugin state versus current preset

    Holly S***”!!. That could explain this

    I always had this problem with Vst versions of my panels, once I reopened the Daw project many parameters didn’t have their correct values (the values they had when I saved the project), instead they had the previous value before saving.

    As I never found the reason, I ended storing modulator values as user data when the project was saved, that was later assigned on project loading.

    2. My simple midiMessageRecived script is called twice but in midi monitor i have only one incoming message.

    Still couldn’t replicate this with my panels.

    #59892
    daimondamps
    Participant
    • Topics: 8
    • Replies: 80
    • Total: 88

    This may be the problem :
    Problems recalling plugin state versus current preset

    Holly S***”!!. That could explain this

    I always had this problem with Vst versions of my panels, once I reopened the Daw project many parameters didn’t have their correct values (the values they had when I saved the project), instead they had the previous value before saving.

    As I never found the reason, I ended storing modulator values as user data when the project was saved, that was later assigned on project loading.

    I think this has something to do when the DAW want to save Patch and Bank.
    When I’m saving only bank or patch in vst the script is called once.

    But when I’m saving DAW session it is called twice.
    I only want to save custom data to recall it when the DAW open the project.
    About 2.

    Maybe this is problem with my PC or MIDI interface driver.
    Hard to tell..:/
    Good that i found that reseting the MIDI Controler device in CTRLR is working for me.

    • This reply was modified 6 years, 8 months ago by daimondamps.
    • This reply was modified 6 years, 8 months ago by daimondamps.
    #59895
    dasfaker
    Keymaster
    • Topics: 80
    • Replies: 793
    • Total: 873
    • ★★★

    Good that i found that reseting the MIDI Controler device in CTRLR is working for me.

    A clever trick. I remember using something similar to solve a bug that made components not hide using componentVisibility, I had to write

    m:getComponent():setPropertyString ("componentVisibility", "1")
    m:getComponent():setPropertyString ("componentVisibility", "0")

    I still use it and I don’t even know if it was fixed.

Viewing 14 posts - 1 through 14 (of 14 total)
  • The forum ‘Programming’ is closed to new topics and replies.
There is currently 0 users and 55 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