/ HALion Developer Resource / HALion Script / Reference /
startWriteOutputToFile
startWriteOutputToFile(filename, append, silent)
(Since HALion 7.0)
Description
Function to write the ouput of print functions to a file. Only the print functions between startWriteOutputToFile and stopWriteOutputToFile are considered.
Available in: Controller.
Arguments
Argument | Description | Value Type |
---|---|---|
filename | The absolute path and name of the file. | string |
append | Appends the output to the file if this is set to true . | boolean |
silent | Hides the console output if this is set to true . | boolean |
Example
posStart, posEnd = string.find(getUserSubPresetPath(), "Steinberg/")
fileLocation = string.sub(getUserSubPresetPath(), 1, posEnd)
defineParameter("FileName", nil, "mapping.csv")
defineParameter("PrintSilent", nil, false)
defineParameter("WriteMapping", nil, false, function() if WriteMapping then writeMapping() end end)
zones = this.parent:findZones(true)
mapping = {
{param = "Name", value = function(zone) return zone.name end},
{param = "File Name", value = function(zone) return zone:getParameter("SampleOsc.Filename") end},
{param = "Root Key", value = function(zone) return zone:getParameter("SampleOsc.Rootkey") end},
}
function writeMapping()
FileName = fileLocation..FileName
startWriteOutputToFile(FileName, false, PrintSilent) -- First line of csv file.
for i, map in ipairs(mapping) do
if i < #mapping then
printRaw(map.param, ";")
else
print(map.param)
end
end
stopWriteOutputToFile()
startWriteOutputToFile(FileName, true, PrintSilent) -- Add one line for each zone.
for i, zone in ipairs(zones) do
for j, map in ipairs(mapping) do
if j < #mapping then
printRaw(map.value(zone), ";")
else
print(map.value(zone))
end
end
end
stopWriteOutputToFile()
WriteMapping = false
end
See also: stopWriteOutputToFile