OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [drivers/] [sound/] [dm.h] - Blame information for rev 1780

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
#ifndef _DRIVERS_SOUND_DM_H
2
#define _DRIVERS_SOUND_DM_H
3
 
4
/*
5
 *      Definitions of the 'direct midi sound' interface used
6
 *      by the newer commercial OSS package. We should export
7
 *      this to userland somewhere in glibc later.
8
 */
9
 
10
/*
11
 * Data structure composing an FM "note" or sound event.
12
 */
13
 
14
struct dm_fm_voice
15
{
16
        u8 op;
17
        u8 voice;
18
        u8 am;
19
        u8 vibrato;
20
        u8 do_sustain;
21
        u8 kbd_scale;
22
        u8 harmonic;
23
        u8 scale_level;
24
        u8 volume;
25
        u8 attack;
26
        u8 decay;
27
        u8 sustain;
28
        u8 release;
29
        u8 feedback;
30
        u8 connection;
31
        u8 left;
32
        u8 right;
33
        u8 waveform;
34
};
35
 
36
/*
37
 *      This describes an FM note by its voice, octave, frequency number (10bit)
38
 *      and key on/off.
39
 */
40
 
41
struct dm_fm_note
42
{
43
        u8 voice;
44
        u8 octave;
45
        u32 fnum;
46
        u8 key_on;
47
};
48
 
49
/*
50
 * FM parameters that apply globally to all voices, and thus are not "notes"
51
 */
52
 
53
struct dm_fm_params
54
{
55
        u8 am_depth;
56
        u8 vib_depth;
57
        u8 kbd_split;
58
        u8 rhythm;
59
 
60
        /* This block is the percussion instrument data */
61
        u8 bass;
62
        u8 snare;
63
        u8 tomtom;
64
        u8 cymbal;
65
        u8 hihat;
66
};
67
 
68
/*
69
 *      FM mode ioctl settings
70
 */
71
 
72
#define FM_IOCTL_RESET        0x20
73
#define FM_IOCTL_PLAY_NOTE    0x21
74
#define FM_IOCTL_SET_VOICE    0x22
75
#define FM_IOCTL_SET_PARAMS   0x23
76
#define FM_IOCTL_SET_MODE     0x24
77
#define FM_IOCTL_SET_OPL      0x25
78
 
79
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.