00001 /* MuSE - Multiple Streaming Engine 00002 * Copyright (C) 2000-2002 Denis Roio aka jaromil <jaromil@dyne.org> 00003 * 00004 * This source code is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Public License as published 00006 * by the Free Software Foundation; either version 2 of the License, 00007 * or (at your option) any later version. 00008 * 00009 * This source code is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00012 * Please refer to the GNU Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Public License along with 00015 * this source code; if not, write to: 00016 * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00017 * 00018 * "$Id: generic.h,v 1.2 2004/01/24 17:22:52 jaromil Exp $" 00019 * 00020 */ 00021 00022 #ifndef __GENERIC_H__ 00023 #define __GENERIC_H__ 00024 00025 #include <inttypes.h> 00026 00027 #define PLAYMODE_PLAY 0 00028 #define PLAYMODE_LOOP 1 00029 #define PLAYMODE_CONT 2 00030 00031 /* buffer settings (take care!) */ 00032 #define IN_DATATYPE int16_t 00033 #define MIX_CHUNK 1152 //2048 00034 #define IN_CHUNK MIX_CHUNK 00035 #define IN_PIPESIZE 36864/2 // IN_CHUNK*32 (could be smaller *16) 00036 #define IN_BUFFER 35712 // IN_PIPESIZE-IN_CHUNK 00037 #define OUT_CHUNK 4096 // was MIX_CHUNK, i'm not sure it can safely be something different ... 00038 #define OUT_PIPESIZE OUT_CHUNK*32 // OUT_CHUNK*32 00039 #define OUT_BUFFER OUT_CHUNK*2 00040 #define ENC_BUFFER 1024*1000 // was 128000 00041 #define PROCBUF_SIZE MIX_CHUNK*5 // mixer process buffers size 00042 00043 /* soundcard tweaks */ 00044 #define SAMPLE_RATE 44100 // 44100 00045 #define FRAGSIZE MIX_CHUNK *4 00046 #define FRAGCOUNT 0x7fff /* 0x7fff is supposed to mean no limit 00047 (from linux sound programming guide) */ 00048 00049 00050 /* mp3 channels - the standard interface can't be changed from here 00051 uhm... you'd better not touch this, it does not what you wanna do */ 00052 #define MAX_CHANNELS 6 00053 00054 /* filesystem */ 00055 #define MAX_PATH_SIZE 512 00056 00057 /* talk button goes down that much */ 00058 #define TALK_VOLUME 0.3 00059 00060 /* clipping values (MOP patch) */ 00061 #define MOP_ADAPTIVE_VOL 1 00062 /* logging of k activation 00063 #define MOP_LOGGING 1 */ 00064 #ifdef MOP_ADAPTIVE_VOL 00065 /* MOP_ADV_RETM weight of the last k value in the computation of 00066 the current k value (50-200 maybe a valid range) */ 00067 #define MOP_ADV_RETM 74.0 00068 /* MOP_ADV_KARE weight of the current clipped area in the computation 00069 of the current k value (10-1000 ???) */ 00070 #define MOP_ADV_KARE 200.0 00071 #endif 00072 00073 /* experimental resampling for 22 and 32KHz */ 00074 #define MOP_RESAMP 1 00075 //#define WITH_SPEED 1 00076 00077 /* string buffer sizes */ 00078 #define MAX_OPTION_SIZE 256 // configuration strings 00079 #define MAX_PATH_SIZE 512 // path strings 00080 00081 00082 #endif