#!/usr/bin/env python
#
# fade_out_normalize.py
#

import pyeca
import sys
import time


list = sys.argv[1:]
for i in list:
    print i
        # get length of file
    e = pyeca.ECA_CONTROL_INTERFACE(0)
    e.command("cs-set-audio-format 24,1,44100")
    e.command("ai-add " + i)
    e.command("ao-add " + i)
    e.command("cs-connect")
    e.command("ai-iselect 1")
    e.command("ai-get-length")
    file_length = e.last_float()
    print "file length: %s" % ( file_length )
    print
    e.command("cs-disconnect")

        # fade in/out start/end of chunk
    e.command("cop-add -ea:0")
    e.command("ctrl-add -kl:1,0,100,10")
    e.command("cop-add -ea:0")
    e.command("ctrl-add -kl2:1,100,0," + str(file_length - 10) + ",10")
    e.command("cop-add -ev")
    e.command_float_arg("cs-set-length", file_length)
    e.command("cs-connect")
    e.command("start")
    while 1:
        time.sleep(1)
        e.command("engine-status")
        if e.last_string() != "running": break
    e.command("cs-disconnect")

        # normalize chunk
    e.command("cop-select 3")
    e.command("copp-select 2")
    e.command("copp-get");
    amplify_percent = e.last_float() * 100
    print "amplify percent: %s%%" % ( amplify_percent )
    print
    e.command("c-clear")
    e.command("cop-add -ea:" + str(amplify_percent))
    e.command("setpos 0")
    e.command("cs-connect")
    e.command("start")
    while 1:
        time.sleep(1)
        e.command("engine-status")
        if e.last_string() != "running": break
    e.command("cs-disconnect")
