# Example configuration file for 2 dongles.
# First dongle - scanning mode, NFM modulation, three frequencies,
# output to Icecast stream, to a file and to PulseAudio server
# on a local network.
# Second dongle - multichannel mode, three channels:
#
# - channel 1: AM, goes to Icecast stream
# - channel 2: AM, goes to two Icecast streams
# - channel 3: NFM, goes to two files
#
# Dongles are specified with their serial numbers instead of
# indexes, because the latter can change when devices are
# reconnected into different USB ports.
#
# Refer to https://github.com/charlie-foxtrot/RTLSDR-Airband/wiki
# for description of keywords and config syntax.

devices:
({
  type = "rtlsdr";
  serial = "777755221";
  gain = 25;
  correction = 80;
  mode = "scan";
  channels:
  (
    {
      modulation = "nfm";
      freqs = ( 152.1, 168.25, 168.375 );
      outputs: (
        {
          type = "icecast";
          server = "icecast.server.example.org";
          port = 8080;
          mountpoint = "utility.mp3";
          name = "Utility channels";
          username = "source";
          password = "mypassword";
        },
        {
          type = "file";
          directory = "/home/pi/recordings";
          filename_template = "utility";
        },
        {
          type = "pulse";
          server = "192.168.11.10";
          stream_name = "Utility channels";
          continuous = false;
        }
      );
    }
  );
 },
 {
  type = "rtlsdr";
  serial = "33433123";
  gain = 20;
  centerfreq = 118.5;
  correction = 43;
  mode = "multichannel";
  channels:
  (
    {
      freq = 118.15;
      outputs: (
        {
          type = "icecast";
          server = "icecast.server.example.org";
          port = 8080;
          mountpoint = "TWR.mp3";
          name = "Tower";
          genre = "ATC";
          username = "source";
          password = "mypassword";
        }
      );
    },
    {
      freq = 119.425;
      outputs: (
        {
          type = "icecast";
          server = "icecast.server.example.org";
          port = 8080;
          mountpoint = "ACC.mp3";
          name = "Radar";
          genre = "ATC";
          username = "source";
          password = "mypassword";
        },
        {
          type = "icecast";
          server = "other.server.example.org";
          port = 9999;
          mountpoint = "feed.mp3";
          username = "user";
          password = "secretpass";
        }
      );
    },
    {
      freq = 119.6;
      modulation = "nfm";
      outputs: (
        {
          type = "file";
          directory = "/home/pi/recordings";
          filename_template = "somechannel";
        },
        {
          type = "file";
          directory = "/home/pi/recordings";
          filename_template = "somechannel_full";
          continuous = true;
        }
      );
    }
  );
 }
);
