FileSourceSettings:
  description: FileSource
  properties:
    fileName:
      description: The name (path) of the file being read
      type: string
    loop:
      description: 1 if playing in a loop else 0
      type: integer
    log2Interp:
      type: integer
    filterChainHash:
      type: integer
    gainDB:
      type: integer
    rgbColor:
      type: integer
    title:
      type: string
    streamIndex:
      description: MIMO channel. Not relevant when connected to SI (single Rx).
      type: integer
    useReverseAPI:
      description: Synchronize with reverse API (1 for yes, 0 for no)
      type: integer
    reverseAPIAddress:
      type: string
    reverseAPIPort:
      type: integer
    reverseAPIDeviceIndex:
      type: integer
    reverseAPIChannelIndex:
      type: integer
    channelMarker:
      $ref: "/doc/swagger/include/ChannelMarker.yaml#/ChannelMarker"
    rollupState:
      $ref: "/doc/swagger/include/RollupState.yaml#/RollupState"

FileSourceReport:
  description: FileSource
  properties:
    fileName:
      type: string
    fileSampleRate:
      description: Record sample rate in S/s
      type: integer
    fileSampleSize:
      description: Record sample size in number of bits
      type: integer
    absoluteTime:
      description: Absolute record time string representation
      type: string
    elapsedTime:
      description: Elapsed time since beginning string representation
      type: string
    durationTime:
      description: Duration time string representation
      type: string
    sampleRate:
      description: Channel sample rate in S/s
      type: integer
    channelPowerDB:
      description: power transmitted in channel (dB)
      type: number
      format: float

FileSourceActions:
  description: FileSource
  properties:
    play:
      type: integer
      description: >
        Play or Pause stream
          * 0 - Pause
          * 1 - Play
    seekMillis:
      description: Move play cursor to this thousands of total time from the start
      type: integer
