kobodl/sound/a_bus.h
Ville Lindholm dbc223eb84
Initial commit
Import existing source tree; original VCS history is no longer available.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-28 16:35:31 +03:00

51 lines
1.6 KiB
C

/*(LGPL)
---------------------------------------------------------------------------
a_bus.h - Audio Engine bus
---------------------------------------------------------------------------
* Copyright (C) 2001, 2002, David Olofson
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or (at
* your option) any later version.
*
* This program 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef _A_BUS_H_
#define _A_BUS_H_
#include "a_globals.h"
#include "a_types.h"
#include "a_plugin.h"
#include "a_filters.h"
typedef struct
{
/* Control */
abcbank_t bctl[AUDIO_MAX_INSERTS+1];
/* DC filter (applied before all sends and inserts) */
dcf6s_t dcfilter;
int in_use; /* Set by whoever sends to the bus */
/* Insert FX plugins */
audio_plugin_t insert[AUDIO_MAX_INSERTS];
} audio_bus_t;
void audio_bus_open(void);
void audio_bus_close(void);
void bus_process_all(int *bufs[], int *master, unsigned frames);
void bus_ctl_set(unsigned bus, unsigned slot, unsigned ctl, int arg);
#endif /*_A_BUS_H_*/