Prev Previous Post   Next Post Next
Old 01-29-2020, 12:21 AM   #1
Archie
Human being with feelings
 
Archie's Avatar
 
Join Date: Oct 2017
Location: Russia
Posts: 366
Default Bug - GetSetProjectInfo_String

Hello!
reaper603+dev0128
After adding a secondary rendering format, the function
reaper.GetSetProjectInfo_String(0,"RENDER_FORMAT", out_str64,1)
broke down and all the scripts that use this feature broke down.
Whatever I put in it, it's still installed "Wav 24 bit"


PHP Code:
    --------------------------------------------------------------------------
    -- 
character table string
    local b
='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
    
-- encoding
    
function enc(data)
        return ((
data:gsub('.', function(x
            
local r,b='',x:byte()
            for 
i=8,1,-do r=r..(b%2^i-b%2^(i-1)>and '1' or '0'end
            
return r;
        
end)..'0000'):gsub('%d%d%d?%d?%d?%d?', function(x)
            if (
#x < 6) then return '' end
            
local c=0
            
for i=1,do c=c+(x:sub(i,i)=='1' and 2^(6-i) or 0end
            
return b:sub(c+1,c+1)
        
end)..({ '''==''=' })[#data%3+1])
    
end
    
-- decoding
    
function dec(data)
        
data string.gsub(data'[^'..b..'=]''')
        return (
data:gsub('.', function(x)
            if (
== '='then return '' end
            local r
,f='',(b:find(x)-1)
            for 
i=6,1,-do r=r..(f%2^i-f%2^(i-1)>and '1' or '0'end
            
return r;
        
end):gsub('%d%d%d?%d?%d?%d?%d?%d?', function(x)
            if (
#x ~= 8) then return '' end
            
local c=0
            
for i=1,do c=c+(x:sub(i,i)=='1' and 2^(8-i) or 0end
            
return string.char(c)
        
end))
    
end
    
--------------------------------------------------------------------------
     
     
     
     
     
    ------------------------------------------------------------------------
    -- 
store values to table
    retval
valuestrNeedBig reaper.GetSetProjectInfo_String(0,'RENDER_FORMAT','',false);
    
dec_s dec(valuestrNeedBig)
    
= {}
    for 
1dec_s:len() do
        
t[#t+1] = string.byte(dec_s:sub(i,i))
    
end
    
      
-------------------------------------------- 
     -- do 
here whatever to modify table
     
-------------------------------------------- 
    
    -- 
pass values back
    out_str 
''
    
for =1#t do
        
out_str out_str .. string.char(t[i])
    
end
    out_str64 
enc(out_str)
    
    


    
reaper.GetSetProjectInfo_String(0,"RENDER_FORMAT",out_str64,1); 
__________________
=================================
ReaPack| Archie-ReaScript: Discussion | Donate | Donate2 | Donate3 | PayPal |
Archie is offline   Reply With Quote
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 09:42 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.