#
# Copyright (C) 2011-2013 Michael Vogt <michu@neophob.com>
#
# This file is part of PixelController.
#
# 
# EXAMPLE PIXELCONTROLLER CONFIG FILE, tpm2serial (/dev/ttyS1), SNAKE CABLING, RESOLUTION: 16x8
#  for example drive some leds an a RPI using https://github.com/scottjgibson/PixelPi
#
#
# PixelController is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# PixelController is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with PixelController.  If not, see <http://www.gnu.org/licenses/>.
#

#======for octows2811 lib with Teensy 3========
# set the pixel number in the sketch
# set the pixel resolution below
# change the port setting below as there is no auto detect.
#==============================================



#=========================
#default values for generators
#=========================
initial.image.simple=logo.gif
initial.blinken=torus.bml
initial.text=PIXELINVADERS

font.filename=04B_03__.TTF
font.size=82

#x/y offset for screen capturing generator
#if you define screen.capture.window.size.x as 0, the screen capture generator will be disabled
screen.capture.offset=100
screen.capture.window.size.x=0
#screen.capture.window.size.x=500
screen.capture.window.size.y=300

#=========================
#network port config
#=========================

#fudi protocol config, used to communicate with pure data sketch
net.listening.port=3448
net.listening.addr=127.0.0.1
net.send.port=3449


#osc protocol config
osc.listening.port=9876

#=========================
#frames per second
#=========================
fps=100
#50
#35
#25

#=========================
#display internal gui window and debug buffer?
#=========================
show.debug.window=true
maximal.debug.window.xsize=600
maximal.debug.window.ysize=500

#=========================
#per default you get # of output windows + 1 visuals
#maybe you need more, so add them here if you want...
#=========================
additional.visual.screens=0

#=========================
#the size of the software output matrix
#=========================
led.pixel.size=16

#=========================
#start in random mode?
#=========================
startup.in.randommode=false

#=========================
#load a preset if PixelController starts?
#Warning, this will overwrite your settings configured above (initial generator values)!
#=========================
#startup.load.preset.nr=1

#=========================
#use audio as input setting (true)
#or just regular fps (false)
#=========================
update.generators.by.sound=true

#=========================
#if the audio level falls below this threshold, the volume gets muted
#0.0f is the lowest possible value, 1.0f is the maximum value
#=========================
sound.silence.threshold=0.0005f

### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
# OUTPUT SETTINGS #
# enable only ONE output device (PixelInvaders, RainbowduinoV2, RainbowduinoV3, Art-Net, TPM2, UDP, Adafruit or Minidmx)
### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###

#=========================
# optional, defines the color order of the output device
# this option is used for ALL output devices, if you have multiple panels you must define
# multiple entries, for example if you have 3 panels you need to define "BRG,BRG,BRG"
#
# if this setting is commented out, RGB color order is assumed for all panels
#=========================
panel.color.order=BRG
#bgr
#RGB

#=========================
# Apply gamma correction for output panels
# Valid options
#  - NONE
#  - GAMMA_20: apply gamma 2.0 correction
#  - GAMMA_22: apply gamma 2.2 correction
#  - GAMMA_25: apply gamma 2.5 correction
#  - SPECIAL1: apply special gamma correction
#=========================
panel.gamma.tab=GAMMA_25

#=========================
# Settings for PixelInvaders panels, valid options:
#=========================
#   NO_ROTATE,
#   ROTATE_90,
#   ROTATE_90_FLIPPEDY,
#   ROTATE_180,
#   ROTATE_180_FLIPPEDY,
#   ROTATE_270,
#=========================
#HINT: you define how many PixelInvaders panels are in use, in this example we use four panels.
#pixelinvaders.layout.row1=NO_ROTATE,NO_ROTATE
#pixelinvaders.layout.row2=NO_ROTATE,NO_ROTATE

#if different panels have different color charateristics, you can fine-tune the color here (subtract)
#example for two panels
#pixelinvaders.coloradjust.r.0=0
#pixelinvaders.coloradjust.g.0=0
#pixelinvaders.coloradjust.b.0=0
#pixelinvaders.coloradjust.r.1=15
#pixelinvaders.coloradjust.g.1=0
#pixelinvaders.coloradjust.b.1=0

#do not try this device for autodetection (speedup application start)
#pixelinvaders.blacklist.devices=/dev/ttyUSB000

#if you have multiple pixelinvaders panels wired up special, you can define this here.
#if you don't define this setting, the "default wiring" is expected
#example (the number define the wiring direction):
# +---+---+---+
# | 0 | 3 | 4 |
# +---+---+---+
# | 1 | 2 | 5 |
# +---+---+---+
#HINT: the first panel is 0!
#pixelinvaders.panel.order=0,3,4,1,2,5

#networked pixelinvader settings, use with ser2net
#pixelinvaders.panel.ip=192.168.111.22
#pixelinvaders.panel.port=5333

#=========================
#settings for null output
#=========================
#nulloutput.devices.row1=2
#nulloutput.devices.row2=0

#=========================
#settings for rainbowduinoV2
#=========================
#i2c destination address + layout definition
#layout.row1.i2c.addr=5,6
#layout.row2.i2c.addr=8,9

#=========================
#settings for rainbowduinoV3
#=========================
#serial device names + layout definition
#  on Linux/OSX use names like "/dev/ttyUSB1"
#  on Windows use names like "COM1"
#layout.row1.serial.devices=/dev/ttyUSB0,/dev/ttyUSB1
#layout.row2.serial.devices=/dev/ttyUSB2,/dev/ttyUSB3

#=========================
#settings for stealth panel
#=========================
#stealth.layout.row1=NO_ROTATE

#=========================
#settings for Art-Net, E1.31, Null output, Minidmx, UDP, TPM2, TPM2Net
#=========================
output.resolution.x=32
#16
output.resolution.y=8

#flip each second scanline
#output.snake.cabling=true ================me changed

#OR use manual image mapping, instead of the snake cabling setting.
#the output mapping table should contain output.resolution.x * output.resolution.y entries 
#REMEMBER: the first outputs starts at 0 NOT 1!
#output.mapping=0,1,4,5,2,3... 

#optional rotate image, valid options:
#   NO_ROTATE (default),
#   ROTATE_90,
#   ROTATE_90_FLIPPEDY,
#   ROTATE_180,
#   ROTATE_180_FLIPPEDY,
#   ROTATE_270
#output.layout=NO_ROTATE

#=========================
#settings for Art-Net devices
#Info: PixelController supports more than 1 universe
#do NOT FORGET to define the output resolution above!
#=========================
#HINT: you define how many artnet panels are in use, in this example we use four panels.
#artnet.layout.row1=NO_ROTATE,NO_ROTATE
#artnet.layout.row2=NO_ROTATE,NO_ROTATE

#controller ip address
#artnet.ip=192.168.1.2

#define the default artnet broadcast address, default is 2.255.255.255
#artnet.broadcast.address=255.0.0.0

#define how many rgb pixels are used on a universe, maximal 170 (=510 Channels)
#Example: if you use two 8x8 RGB Led matrix, you connected the first matrix on universe 1
#         and the second matrix on universe 2, you would set artnet.pixels.per.universe=64 
#artnet.pixels.per.universe=170

#define the first universe id
#artnet.first.universe.id=1

#=========================
#settings for E1.31 devices
#Info: PixelController supports more than 1 universe
#do NOT FORGET to define the output resolution above!
#=========================
#HINT: you define how many e1.31 panels are in use, in this example we use four panels.
#e131.layout.row1=NO_ROTATE,NO_ROTATE
#e131.layout.row2=NO_ROTATE,NO_ROTATE

#controller ip address
#hint, use unicast address or 239.255.0.0 for multicast 
#e131.ip=239.255.0.0

#define how many rgb pixels are used on a universe, maximal 170 (=510 Channels)
#Example: if you use two 8x8 RGB Led matrix, you connected the first matrix on universe 1
#         and the second matrix on universe 2, you would set artnet.pixels.per.universe=64 
#e131.pixels.per.universe=170

#define the first universe id
#e131.first.universe.id=1

#=========================
#settings for udp "device"
#do NOT FORGET to define the output resolution above!
#=========================
#send to this address
#udp.ip=192.168.111.25
#udp.port=6803

#=========================
#settings for tpm2 device
#do NOT FORGET to define the output resolution above!
#=========================
#Where is the TPM2 device connected?
#  on Linux/OSX use names like "/dev/ttyUSB1"
#  on Windows use names like "COM1"
#tpm2.device=/dev/ttyS1
tpm2.device=/dev/tty.usbmodem1061
tpm2.baudrate=115200

#=========================
#settings for tpm2.net device
#do NOT FORGET to define the output resolution above!
#=========================
#tpm2net.ip=192.168.111.25

#define layout, valid options:
#   NO_ROTATE (default),
#   ROTATE_90,
#   ROTATE_90_FLIPPEDY,
#   ROTATE_180,
#   ROTATE_180_FLIPPEDY,
#   ROTATE_270
#HINT: you define how many Tpm2Net panels are in use, in this example we use four panels.
#tpm2net.layout.row1=NO_ROTATE,NO_ROTATE
#tpm2net.layout.row2=NO_ROTATE,NO_ROTATE

#=========================
#settings for miniDmx (like the SEDU board)
#do NOT FORGET to define the output resolution above!
#=========================
#minidmx.baudrate=115200


#EOF
