fiopen
Prev | Orchestra Opcodes and Operators | Next

## fiopen

fiopen — Opens a file in a specific mode.

## Description

fiopen can be used to open a file in one of the specified modes.

## Syntax

    ihandle fiopen ifilename, imode

## Initialization

ihandle -- a number which specifies this file.

ifilename -- the target file's name (in double-quotes).

imode -- choose the mode of opening the file. imode can be a value chosen among the following:

- 0 - open a text file for writing

- 1 - open a text file for reading

- 2 - open a binary file for writing

- 3 - open a binary file for reading

## Performance

fiopen opens a file to be used by the fout family of opcodes. It is safer to use it in the header section, external to any instruments. It returns a number, ihandle, which unequivocally refers to the opened file.

If fiopen is called on an already open file, it just returns the same handle again, and does not close the file.

Notice that fout and foutk can use either a string containing a file pathname, or a handle-number generated by fiopen. Whereas, with fouti and foutir, the target file can be only specified by means of a handle-number.

## Examples

Here is an example of the fiopen opcode. It uses the file fiopen.csd. Note that the example must be run from a directory for which the user has write access.

Example 309. Example of the fiopen opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

    <CsoundSynthesizer>
    <CsOptions>
    ; Select audio/midi flags here according to platform
    -odac     ;;;realtime audio out
    ;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o fiopen.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 32
    nchnls = 2
    0dbfs  = 1

    gihand fiopen "test1.txt", 0

    instr 1

    ires  random  0, 100
          fouti gihand, 0, 1, ires
          ficlose gihand

    endin
    </CsInstruments>
    <CsScore>

    i 1 0 1

    e
    </CsScore>
    </CsoundSynthesizer>

## See also

File Input and Output

## Credits

Author: Gabriel Maldonado
Italy
1999

New in Csound version 3.56

Prev | Up | Next
fink | Home | flanger