/*
 * This file is part of Open Sound System
 *
 * Copyright (C) 4Front Technologies 1996-2008.
 *
 * This software is released under the BSD license.
 * See the COPYING file included in the main directory of this source
 * distribution for the license terms and conditions
 */

// VU meter computation macros
//
// Simple VU
#define VU(vuvar, input) \
  TSTNEG(VUTMP, input, input, 0);\
  LIMIT(vuvar, vuvar, vuvar, VUTMP)
/* VU meter with volume scaling */
#define VUSCALE(vuvar, input, scale) \
  MACS(VUTMP2, 0, input, scale) ;\
  TSTNEG(VUTMP, VUTMP2, VUTMP2, 0);\
  LIMIT(vuvar, vuvar, vuvar, VUTMP)
/* VU meter with volume scaling and summing with a 'base' signal */
#define VUSCALESUM(vuvar, basevar, input, scale) \
  MACS(VUTMP2, basevar, input, scale) ;\
  TSTNEG(VUTMP, VUTMP2, VUTMP2, 0);\
  LIMIT(vuvar, vuvar, vuvar, VUTMP)
