Copyright (C) Kevin Larke 2009-2020

This file is part of libcm.

libcm 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.

libcm 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.

See the GNU General Public License distributed with the libcm package or look here: .


cmDspPgmKrChain : Signal processing chain implementation for 'GUTIM'.

typedef struct
{
  const cmChar_t* tlFn;
  const cmChar_t* tlPrefixPath;
  const cmChar_t* scFn;
  const cmChar_t* tksbFn;
  const cmChar_t* modFn;
  const cmChar_t* measFn;
  const cmChar_t* recordDir;
  const cmChar_t* midiDevice;
  const cmChar_t* midiOutPort;
  const cmChar_t* midiOutPort2;
} krRsrc_t;


cmDspRC_t krLoadRsrc(cmDspSysH_t h, cmErr_t* err, krRsrc_t* r);


// connection information for 1 transform channel
typedef struct
{
  cmDspInst_t* achan; 
  cmDspInst_t* kr0;   // audio input
  cmDspInst_t* kr1;
  cmDspInst_t* cmp;   // audio output
} cmDspTlXform_t;


void _cmDspSys_TlXformChain(
cmDspSysH_t     h,
cmDspTlXform_t* c,
unsigned        preGrpSymId,
unsigned        cmpPreGrpSymId,
cmDspInst_t*    amp,
cmDspInst_t*    modp,
unsigned        ach,
unsigned        mch );