Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -------------------------------------------------------------------------------
- -- Returns value of given key from given INI file.
- --
- -- License: Public Domain
- --
- -- @param key [String]
- -- @param ini_path [String]
- -- @return s [String] or nil
- function FetchUserPreference(key,ini_path)
- local f = io.open(ini_path,"rb")
- local s = f:read("*all")
- f:close()
- local s1,s2 = string.find(s,key.."=",1,true)
- if s1 == nil then return nil end
- local s3 = string.find(s,"\n",s1,true)
- s = s:sub(s2+1,s3-1):gsub("[\r]","")--linux,osx: \n
- --windows: \r\n
- --reaper.ShowConsoleMsg(key.."="..s.."\n")--debug
- return s
- end
- -------------------------------------------------------------------------------
- -- Returns value of given key from given INI file.
- --
- --License:
- -- Adapted from "Lua INI Parser"
- --
- -- Copyright (c) 2012 Carreras Nicolas
- --
- -- Permission is hereby granted, free of charge, to any person obtaining a copy
- -- of this software and associated documentation files (the "Software"), to deal
- -- in the Software without restriction, including without limitation the rights
- -- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- -- copies of the Software, and to permit persons to whom the Software is
- -- furnished to do so, subject to the following conditions:
- --
- -- The above copyright notice and this permission notice shall be included in all
- -- copies or substantial portions of the Software.
- --
- -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- -- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- -- SOFTWARE.
- -- @param key [String]
- -- @param ini_path [String]
- -- @return val [String] or nil
- function GetUserPreference(key,ini_path)
- local f = io.open(ini_path,"r")
- for l in f:lines() do
- local _,val = l:match('^([%w|_]+)%s-=%s-(.+)$')
- if _ == key then
- --reaper.ShowConsoleMsg(_.."="..val.."\n")--debug
- f:close()
- return val
- end
- end
- f:close()
- return nil
- end
Add Comment
Please, Sign In to add comment