generic.h Source File

Main Page Modules Class Hierarchy Compound List File List Compound Members File Members

# generic.h

    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