linux/sound/oss/sequencer.c
<<
.4" /spatio /formio a .4" href="../linux+v3.7.5/sound/oss/sequencer.c">.4" img src="../.static/gfx/right.png" alt=">>">.4 /spatio.4 spat class="lxr_search">.4" .4" input typaluhidden" namalunavtarget" on valu">.4" input typalutext" namalusearch" idlusearch">.4" buttptitypalusubmit">Search.4" Prefso /a>.4 /spatio" /divio" form ac/opt="ajax+*" method="post" onsubmit="return false;">.4 input typaluhidden" namaluajax_lookup" idluajax_lookup" on valu">." /formio." div class="headingbottpm">o div idlufile_contents"i
   1
/a>
spat class="comment">/*
/spatio   2
/a>
spat class="comment"> * sound/oss/sequencer.c
/spatio   3
/a>
spat class="comment"> *
/spatio   4
/a>
spat class="comment"> * The sequencer personality manager.
/spatio   5
/a>
spat class="comment"> */
/spatio   6
/a>
spat class="comment">/*
/spatio   7
/a>
spat class="comment"> * Copyright (C) by Hannu Savolainen 1993-1997
/spatio   8
/a>
spat class="comment"> *
/spatio   9
/a>
spat class="comment"> * OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
/spatio  18.1a>
spat class="comment"> * Versopti2 (June 1991). See the "COPYING" file distributed with this software
/spatio  11
/a>
spat class="comment"> * for more info.
/spatio  12
/a>
spat class="comment"> */
/spatio  13
/a>
spat class="comment">/*
/spatio  14
/a>
spat class="comment"> * Thomas Sailer   : ioctl code reworked (vmalloc/vfree removed)
/spatio  15
/a>
spat class="comment"> * Alat Cox        : reformatted and fixed a pair of null pointer bugs
/spatio  16
/a>
spat class="comment"> */
/spatio  17
/a>#include <linux/kmod.h
/a>>o  18
/a>#include <linux/spinlock.h
/a>>o  19
/a>#include "sound_config.h
/a>"o  28.1a>o  21
/a>#include "midi_ctrl.h
/a>"o  22.1a>o  23
/a>static int"
    
a href="+code=sequencer_ok" class="sref">sequencer_ok
/a>;o  24
/a>static struct 
a href="+code=sound_timer_opera/opts" class="sref">sound_timer_opera/opts
/a> *
a href="+code=tmr" class="sref">tmr
/a>;o  25
/a>static int"
    
a href="+code=tmr_no" class="sref">tmr_no
/a> = -1;    
spat class="comment">/* Currently selected timer */
/spatio  26
/a>static int"
    
a href="+code=pending_timer" class="sref">pending_timer
/a> = -1;     
spat class="comment">/* For timer change opera/opt */
/spatio  27
/a>extern unsigned long 
a href="+code=seq_time" class="sref">seq_time
/a>;o  28.1a>o  29
/a>static int"
    
a href="+code=obsolete_api_used" class="sref">obsolete_api_used
/a>;o  30
/a>static 
a href="+code=DEFINE_SPINLOCK" class="sref">DEFINE_SPINLOCK
/a>(
a href="+code=lock" class="sref">lock
/a>);o  31.1a>o  32
/a>
spat class="comment">/*
/spatio  33
/a>
spat class="comment"> * Local counts for number of synth and MIDI devices. These are initialized
/spatio  34
/a>
spat class="comment"> * by the sequencer_open.
/spatio  35
/a>
spat class="comment"> */
/spatio  36
/a>static int"
    
a href="+code=max_mididev" class="sref">max_mididev
/a>;o  37
/a>static int"
    
a href="+code=max_synthdev" class="sref">max_synthdev
/a>;o  38.1a>o  39
/a>
spat class="comment">/*
/spatio  48.1a>
spat class="comment"> * The seq_mode gives the opera/ong mode of the sequencer:
/spatio  41
/a>
spat class="comment"> *      1 = level1 (the default)
/spatio  42
/a>
spat class="comment"> *      2 = level2 (extended capabilities)
/spatio  43
/a>
spat class="comment"> */
/spatio  44.1a>o  45
/a>#define 
a href="+code=SEQ_1" class="sref">SEQ_1
/a>   1o  46
/a>#define 
a href="+code=SEQ_2" class="sref">SEQ_2
/a>   2o  47
/a>static int"
    
a href="+code=seq_mode" class="sref">seq_mode
/a> = 
a href="+code=SEQ_1" class="sref">SEQ_1
/a>;o  48.1a>o  49
/a>static 
a href="+code=DECLARE_WAIT_QUEUE_HEAD" class="sref">DECLARE_WAIT_QUEUE_HEAD
/a>(
a href="+code=seq_sleeper" class="sref">seq_sleeper
/a>);o  50
/a>static 
a href="+code=DECLARE_WAIT_QUEUE_HEAD" class="sref">DECLARE_WAIT_QUEUE_HEAD
/a>(
a href="+code=midi_sleeper" class="sref">midi_sleeper
/a>);o  51.1a>o  52
/a>static int"
    
a href="+code=midi_opened" class="sref">midi_opened
/a>[
a href="+code=MAX_MIDI_DEV" class="sref">MAX_MIDI_DEV
/a>];o  53.1a>o  54
/a>static int"
    
a href="+code=midi_written" class="sref">midi_written
/a>[
a href="+code=MAX_MIDI_DEV" class="sref">MAX_MIDI_DEV
/a>];o  55.1a>o  56
/a>static unsigned long 
a href="+code=prev_input_time" class="sref">prev_input_time
/a>;o  57
/a>static int"
    
a href="+code=prev_event_time" class="sref">prev_event_time
/a>;o  58.1a>o  59
/a>#include "tunong.h
/a>"o  68.1a>o  61
/a>#define 
a href="+code=EV_SZ" class="sref">EV_SZ
/a>   8o  62
/a>#define 
a href="+code=IEV_SZ" class="sref">IEV_SZ
/a>  8o  63.1a>o  64
/a>static unsigned char *
a href="+code=queue" class="sref">queue
/a>;o  65
/a>static unsigned char *
a href="+code=iqueue" class="sref">iqueue
/a>;o  66.1a>o  67
/a>static volatile int"
a href="+code=qhead" class="sref">qhead
/a>,"
a href="+code=qtail" class="sref">qtail
/a>,"
a href="+code=qlen" class="sref">qlen
/a>;o  68
/a>static volatile int"
a href="+code=iqhead" class="sref">iqhead
/a>,"
a href="+code=iqtail" class="sref">iqtail
/a>,"
a href="+code=iqlen" class="sref">iqlen
/a>;o  69
/a>static volatile int"
a href="+code=seq_playing" class="sref">seq_playing
/a>;o  70
/a>static volatile int"
a href="+code=sequencer_busy" class="sref">sequencer_busy
/a>;o  71
/a>static int"
    
a href="+code=output_threshold" class="sref">output_threshold
/a>;o  72
/a>static long     
a href="+code=pre_event_timeout" class="sref">pre_event_timeout
/a>;o  73
/a>static unsigned 
a href="+code=synth_open_mask" class="sref">synth_open_mask
/a>;o  74.1a>o  75
/a>static int"
    
a href="+code=seq_queue" class="sref">seq_queue
/a>(unsigned char *
a href="+code=note" class="sref">note
/a>,"char 
a href="+code=nonblock" class="sref">nonblock
/a>);o  76
/a>static void
    
a href="+code=seq_startplay" class="sref">seq_startplay
/a>(void);o  77
/a>static int"
    
a href="+code=seq_sync" class="sref">seq_sync
/a>(void);o  78
/a>static void
    
a href="+code=seq_reset" class="sref">seq_reset
/a>(void);o  79.1a>o  80
/a>#if 
a href="+code=MAX_SYNTH_DEV" class="sref">MAX_SYNTH_DEV
/a> > 15o  81
/a>#error 
a href="+code=Too" class="sref">Too
/a> 
a href="+code=many" class="sref">many
/a> 
a href="+code=synthesizer" class="sref">synthesizer
/a> 
a href="+code=devices" class="sref">devices
/a> 
a href="+code=enabled" class="sref">enabled
/a>.o  82
/a>#endifo  83.1a>o  84.1a>int"
a href="+code=sequencer_read" class="sref">sequencer_read
/a>(int"
a href="+code=dev" class="sref">dev
/a>, struct 
a href="+code=file" class="sref">file
/a> *
a href="+code=file" class="sref">file
/a>,"char 
a href="+code=__user" class="sref">__user
/a> *
a href="+code=buf" class="sref">buf
/a>,"int"
a href="+code=count" class="sref">count
/a>)o  85
/a>{o  86
/a>        int"
a href="+code=c" class="sref">c
/a> = 
a href="+code=count" class="sref">count
/a>,"
a href="+code=p" class="sref">p
/a> = 0;o  87
/a>        int"
a href="+code=ev_len" class="sref">ev_len
/a>;o  88
/a>        unsigned long 
a href="+code=flags" class="sref">flags
/a>;o  89.1a>o  90
/a>        
a href="+code=dev" class="sref">dev
/a> = 
a href="+code=dev" class="sref">dev
/a> >> 4;o  91.1a>o  92
/a>        
a href="+code=ev_len" class="sref">ev_len
/a> = 
a href="+code=seq_mode" class="sref">seq_mode
/a> == 
a href="+code=SEQ_1" class="sref">SEQ_1
/a> ? 4 : 8;o  93.1a>o  94
/a>        
a href="+code=spin_lock_irqsave" class="sref">spin_lock_irqsave
/a>(&
a href="+code=lock" class="sref">lock
/a>,
a href="+code=flags" class="sref">flags
/a>);o  95.1a>o  96
/a>        if (!
a href="+code=iqlen" class="sref">iqlen
/a>)o  97
/a>        {o  98
/a>                
a href="+code=spin_unlock_irqrestore" class="sref">spin_unlock_irqrestore
/a>(&
a href="+code=lock" class="sref">lock
/a>,
a href="+code=flags" class="sref">flags
/a>);o  99
/a>                if (
a href="+code=file" class="sref">file
/a>->
a href="+code=f_flags" class="sref">f_flags
/a> & 
a href="+code=O_NONBLOCK" class="sref">O_NONBLOCK
/a>) {o 100
/a>                        return -
a href="+code=EAGAIN" class="sref">EAGAIN
/a>;o 101
/a>                }o 102.1a>o 103
/a>                
a href="+code=interruptible_sleep_on_timeout" class="sref">interruptible_sleep_on_timeout
/a>(&
a href="+code=midi_sleeper" class="sref">midi_sleeper
/a>,o 104
/a>                                               
a href="+code=pre_event_timeout" class="sref">pre_event_timeout
/a>);o 105
/a>                
a href="+code=spin_lock_irqsave" class="sref">spin_lock_irqsave
/a>(&
a href="+code=lock" class="sref">lock
/a>,
a href="+code=flags" class="sref">flags
/a>);o 106
/a>                if (!
a href="+code=iqlen" class="sref">iqlen
/a>)o 107
/a>                {o 108
/a>                        
a href="+code=spin_unlock_irqrestore" class="sref">spin_unlock_irqrestore
/a>(&
a href="+code=lock" class="sref">lock
/a>,
a href="+code=flags" class="sref">flags
/a>);o 109
/a>                        return 0;o 110
/a>                }o 111
/a>        }o 112
/a>        while (
a href="+code=iqlen" class="sref">iqlen
/a> && 
a href="+code=c" class="sref">c
/a> >= 
a href="+code=ev_len" class="sref">ev_len
/a>)o 113
/a>        {o 114
/a>                char *
a href="+code=fixit" class="sref">fixit
/a> = (char *) &
a href="+code=iqueue" class="sref">iqueue
/a>[
a href="+code=iqhead" class="sref">iqhead
/a> * 
a href="+code=IEV_SZ" class="sref">IEV_SZ
/a>];o 115
/a>                
a href="+code=spin_unlock_irqrestore" class="sref">spin_unlock_irqrestore
/a>(&
a href="+code=lock" class="sref">lock
/a>,
a href="+code=flags" class="sref">flags
/a>);o 116
/a>                if (
a href="+code=copy_to_user" class="sref">copy_to_user
/a>(&(
a href="+code=buf" class="sref">buf
/a>)[
a href="+code=p" class="sref">p
/a>],"
a href="+code=fixit" class="sref">fixit
/a>,"
a href="+code=ev_len" class="sref">ev_len
/a>))o 117
/a>                        return 
a href="+code=count" class="sref">count
/a> - 
a href="+code=c" class="sref">c
/a>;o 118
/a>                
a href="+code=p" class="sref">p
/a> += 
a href="+code=ev_len" class="sref">ev_len
/a>;o 119
/a>                
a href="+code=c" class="sref">c
/a> -= 
a href="+code=ev_len" class="sref">ev_len
/a>;o 128.1a>o 121
/a>                
a href="+code=spin_lock_irqsave" class="sref">spin_lock_irqsave
/a>(&
a href="+code=lock" class="sref">lock
/a>,
a href="+code=flags" class="sref">flags
/a>);o 122
/a>                
a href="+code=iqhead" class="sref">iqhead
/a> = (
a href="+code=iqhead" class="sref">iqhead
/a> + 1) % 
a href="+code=SEQ_MAX_QUEUE" class="sref">SEQ_MAX_QUEUE
/a>;o 123
/a>                
a href="+code=iqlen" class="sref">iqlen
/a>--;o 124
/a>        }o 125
/a>        
a href="+code=spin_unlock_irqrestore" class="sref">spin_unlock_irqrestore
/a>(&
a href="+code=lock" class="sref">lock
/a>,
a href="+code=flags" class="sref">flags
/a>);o 126
/a>        return 
a href="+code=count" class="sref">count
/a> - 
a href="+code=c" class="sref">c
/a>;o 127
/a>}o 128.1a>o 129
/a>static void 
a href="+code=sequencer_midi_output" class="sref">sequencer_midi_output
/a>(int"
a href="+code=dev" class="sref">dev
/a>)o 130
/a>{o 131
/a>        
spat class="comment">/*
/spatio 132
/a>
spat class="comment">         * Currently NOP
/spatio 133
/a>
spat class="comment">         */
/spatio 134
/a>}o 135.1a>o 136
/a>void 
a href="+code=seq_copy_to_input" class="sref">seq_copy_to_input
/a>(unsigned char *
a href="+code=event_rec" class="sref">event_rec
/a>,"int"
a href="+code=len" class="sref">len
/a>)o 137
/a>{o 138
/a>        unsigned long 
a href="+code=flags" class="sref">flags
/a>;o 139.1a>o 140
/a>        
spat class="comment">/*
/spatio 141
/a>
spat class="comment">         * Verify that the len is valid for the current mode.
/spatio 142
/a>
spat class="comment">         */
/spatio 143.1a>o 144
/a>        if (
a href="+code=len" class="sref">len
/a> != 4 && 
a href="+code=len" class="sref">len
/a> != 8)o 145
/a>                return;o 146
/a>        if ((
a href="+code=seq_mode" class="sref">seq_mode
/a> == 
a href="+code=SEQ_1" class="sref">SEQ_1
/a>) != (
a href="+code=len" class="sref">len
/a> == 4))o 147
/a>                return;o 148.1a>o 149
/a>        if (
a href="+code=iqlen" class="sref">iqlen
/a> >= (
a href="+code=SEQ_MAX_QUEUE" class="sref">SEQ_MAX_QUEUE
/a> - 1))o 150
/a>                return;         
spat class="comment">/* Overflow */
/spatio 151.1a>o 152
/a>        
a href="+code=spin_lock_irqsave" class="sref">spin_lock_irqsave
/a>(&
a href="+code=lock" class="sref">lock
/a>,
a href="+code=flags" class="sref">flags
/a>);o 153
/a>        
a href="+code=memcpy" class="sref">memcpy
/a>(&
a href="+code=iqueue" class="sref">iqueue
/a>[
a href="+code=iqtail" class="sref">iqtail
/a> * 
a href="+code=IEV_SZ" class="sref">IEV_SZ
/a>],"
a href="+code=event_rec" class="sref">event_rec
/a>,"
a href="+code=len" class="sref">len
/a>);o 154
/a>        
a href="+code=iqlen" class="sref">iqlen
/a>++;o 155
/a>        
a href="+code=iqtail" class="sref">iqtail
/a> = (
a href="+code=iqtail" class="sref">iqtail
/a> + 1) % 
a href="+code=SEQ_MAX_QUEUE" class="sref">SEQ_MAX_QUEUE
/a>;o 156
/a>        
a href="+code=wake_up" class="sref">wake_up
/a>(&
a href="+code=midi_sleeper" class="sref">midi_sleeper
/a>);o 157
/a>        
a href="+code=spin_unlock_irqrestore" class="sref">spin_unlock_irqrestore
/a>(&
a href="+code=lock" class="sref">lock
/a>,
a href="+code=flags" class="sref">flags
/a>);o 158.1a>}o 159
/a>
a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL
/a>(
a href="+code=seq_copy_to_input" class="sref">seq_copy_to_input
/a>);o 168.1a>o 161
/a>static void 
a href="+code=sequencer_midi_input" class="sref">sequencer_midi_input
/a>(int"
a href="+code=dev" class="sref">dev
/a>, unsigned char 
a href="+code=data" class="sref">data
/a>)o 162
/a>{o 163
/a>        unsigned int"
a href="+code=tstamp" class="sref">tstamp
/a>;o 164
/a>        unsigned char 
a href="+code=event_rec" class="sref">event_rec
/a>[4];o 165.1a>o 166
/a>        if (
a href="+code=data" class="sref">data
/a> == 0xfe)       
spat class="comment">/* Ignore ac/ove sensing */
/spatio 167
/a>                return;o 168.1a>o 169
/a>        
a href="+code=tstamp" class="sref">tstamp
/a> = 
a href="+code=jiffies" class="sref">jiffies
/a> - 
a href="+code=seq_time" class="sref">seq_time
/a>;o 178.1a>o 171
/a>        if (
a href="+code=tstamp" class="sref">tstamp
/a> != 
a href="+code=prev_input_time" class="sref">prev_input_time
/a>)o 172
/a>        {o 173
/a>                
a href="+code=tstamp" class="sref">tstamp
/a> = (
a href="+code=tstamp" class="sref">tstamp
/a> << 8) | 
a href="+code=SEQ_WAIT" class="sref">SEQ_WAIT
/a>;o 174
/a>                
a href="+code=seq_copy_to_input" class="sref">seq_copy_to_input
/a>((unsigned char *) &
a href="+code=tstamp" class="sref">tstamp
/a>, 4);o 175
/a>                
a href="+code=prev_input_time" class="sref">prev_input_time
/a> = 
a href="+code=tstamp" class="sref">tstamp
/a>;o 176
/a>        }o 177
/a>        
a href="+code=event_rec" class="sref">event_rec
/a>[0] = 
a href="+code=SEQ_MIDIPUTC" class="sref">SEQ_MIDIPUTC
/a>;o 178
/a>        
a href="+code=event_rec" class="sref">event_rec
/a>[1] = 
a href="+code=data" class="sref">data
/a>;o 179
/a>        
a href="+code=event_rec" class="sref">event_rec
/a>[2] = 
a href="+code=dev" class="sref">dev
/a>;o 180
/a>        
a href="+code=event_rec" class="sref">event_rec
/a>[3] = 0;o 181.1a>o 182
/a>        
a href="+code=seq_copy_to_input" class="sref">seq_copy_to_input
/a>(
a href="+code=event_rec" class="sref">event_rec
/a>,"4);o 183.1a>}o 184.1a>o 185
/a>void 
a href="+code=seq_input_event" class="sref">seq_input_event
/a>(unsigned char *
a href="+code=event_rec" class="sref">event_rec
/a>,"int"
a href="+code=len" class="sref">len
/a>)o 186
/a>{o 187
/a>        unsigned long 
a href="+code=this_time" class="sref">this_time
/a>;o 188.1a>o 189
/a>        if (
a href="+code=seq_mode" class="sref">seq_mode
/a> == 
a href="+code=SEQ_2" class="sref">SEQ_2
/a>)o 190
/a>                
a href="+code=this_time" class="sref">this_time
/a> = 
a href="+code=tmr" class="sref">tmr
/a>->
a href="+code=get_time" class="sref">get_time
/a>(
a href="+code=tmr_no" class="sref">tmr_no
/a>);o 191
/a>        elseo 192
/a>                
a href="+code=this_time" class="sref">this_time
/a> = 
a href="+code=jiffies" class="sref">jiffies
/a> - 
a href="+code=seq_time" class="sref">seq_time
/a>;o 193.1a>o 194
/a>        if (
a href="+code=this_time" class="sref">this_time
/a> != 
a href="+code=prev_input_time" class="sref">prev_input_time
/a>)o 195
/a>        {o 196
/a>                unsigned char   
a href="+code=tmp_event" class="sref">tmp_event
/a>[8];o 197
/a>o 198
/a>                
a href="+code=tmp_event" class="sref">tmp_event
/a>[0] = 
a href="+code=EV_TIMING" class="sref">EV_TIMING
/a>;o 199
/a>                
a href="+code=tmp_event" class="sref">tmp_event
/a>[1] = 
a href="+code=TMR_WAIT_ABS" class="sref">TMR_WAIT_ABS
/a>;o 200
/a>                
a href="+code=tmp_event" class="sref">tmp_event
/a>[2] = 0;o 201
/a>                
a href="+code=tmp_event" class="sref">tmp_event
/a>[3] = 0;o 202
/a>                *(unsigned int"*) &
a href="+code=tmp_event" class="sref">tmp_event
/a>[4] = 
a href="+code=this_time" class="sref">this_time
/a>;o 203.1a>o 204
/a>                
a href="+code=seq_copy_to_input" class="sref">seq_copy_to_input
/a>(
a href="+code=tmp_event" class="sref">tmp_event
/a>, 8);o 205
/a>                
a href="+code=prev_input_time" class="sref">prev_input_time
/a> = 
a href="+code=this_time" class="sref">this_time
/a>;o 206
/a>        }o 207
/a>        
a href="+code=seq_copy_to_input" class="sref">seq_copy_to_input
/a>(
a href="+code=event_rec" class="sref">event_rec
/a>,"
a href="+code=len" class="sref">len
/a>);o 208.1a>}o 209
/a>
a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL
/a>(
a href="+code=seq_input_event" class="sref">seq_input_event
/a>);o 218.1a>o 211
/a>int"
a href="+code=sequencer_write" class="sref">sequencer_write
/a>(int"
a href="+code=dev" class="sref">dev
/a>, struct 
a href="+code=file" class="sref">file
/a> *
a href="+code=file" class="sref">file
/a>,"const"char 
a href="+code=__user" class="sref">__user
/a> *
a href="+code=buf" class="sref">buf
/a>,"int"
a href="+code=count" class="sref">count
/a>)o 212
/a>{o 213
/a>        unsigned char 
a href="+code=event_rec" class="sref">event_rec
/a>[
a href="+code=EV_SZ" class="sref">EV_SZ
/a>],"
a href="+code=ev_code" class="sref">ev_code
/a>;o 214
/a>        int"
a href="+code=p" class="sref">p
/a> = 0,"
a href="+code=c" class="sref">c
/a>,"
a href="+code=ev_size" class="sref">ev_size
/a>;o 215
/a>        int"
a href="+code=mode" class="sref">mode
/a> = 
a href="+code=translate_mode" class="sref">translate_mode
/a>(
a href="+code=file" class="sref">file
/a>);o 216.1a>o 217
/a>        
a href="+code=dev" class="sref">dev
/a> = 
a href="+code=dev" class="sref">dev
/a> >> 4;o 218.1a>o 219
/a>        
a href="+code=DEB" class="sref">DEB
/a>(
a href="+code=printk" class="sref">printk
/a>(
spat class="string">"sequencer_write(dev=%d, count=%d)\n"dev
/a>, 
a href="+code=count" class="sref">count
/a>));o 228.1a>o 221
/a>        if (
a href="+code=mode" class="sref">mode
/a> == 
a href="+code=OPEN_READ" class="sref">OPEN_READ
/a>)o 222
/a>                return -
a href="+code=EIO" class="sref">EIO
/a>;o 223.1a>o 224
/a>        
a href="+code=c" class="sref">c
/a> = 
a href="+code=count" class="sref">count
/a>;o 225.1a>o 226
/a>        while (
a href="+code=c" class="sref">c
/a> >= 4)o 227
/a>        {o 228
/a>                if (
a href="+code=copy_from_user" class="sref">copy_from_user
/a>((char *) 
a href="+code=event_rec" class="sref">event_rec
/a>,"&(
a href="+code=buf" class="sref">buf
/a>)[
a href="+code=p" class="sref">p
/a>],"4))o 229
/a>                        goto 
a href="+code=out" class="sref">out
/a>;o 230
/a>                
a href="+code=ev_code" class="sref">ev_code
/a> = 
a href="+code=event_rec" class="sref">event_rec
/a>[0];o 231.1a>o 232
/a>                if (
a href="+code=ev_code" class="sref">ev_code
/a> == 
a href="+code=SEQ_FULLSIZE" class="sref">SEQ_FULLSIZE
/a>)o 233
/a>                {o 234
/a>                        int"
a href="+code=err" class="sref">err
/a>, 
a href="+code=fmt" class="sref">fmt
/a>;o 235.1a>o 236
/a>                        
a href="+code=dev" class="sref">dev
/a> = *(unsigned short"*) &
a href="+code=event_rec" class="sref">event_rec
/a>[2];o 237
/a>                        if (
a href="+code=dev" class="sref">dev
/a> < 0 || 
a href="+code=dev" class="sref">dev
/a> >= 
a href="+code=max_synthdev" class="sref">max_synthdev
/a> || 
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>] == 
a href="+code=NULL" class="sref">NULL
/a>)o 238
/a>                                return -
a href="+code=ENXIO" class="sref">ENXIO
/a>;o 239.1a>o 240
/a>                        if (!(
a href="+code=synth_open_mask" class="sref">synth_open_mask
/a> & (1 << 
a href="+code=dev" class="sref">dev
/a>)))o 241
/a>                                return -
a href="+code=ENXIO" class="sref">ENXIO
/a>;o 242.1a>o 243
/a>                        
a href="+code=fmt" class="sref">fmt
/a> = (*(short"*) &
a href="+code=event_rec" class="sref">event_rec
/a>[0]) & 0xffff;o 244
/a>                        
a href="+code=err" class="sref">err
/a> = 
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=load_patch" class="sref">load_patch
/a>(
a href="+code=dev" class="sref">dev
/a>, 
a href="+code=fmt" class="sref">fmt
/a>, 
a href="+code=buf" class="sref">buf
/a> +"
a href="+code=p" class="sref">p
/a>,"
a href="+code=c" class="sref">c
/a>,"0);o 245
/a>                        if (
a href="+code=err" class="sref">err
/a> < 0)o 246
/a>                                return 
a href="+code=err" class="sref">err
/a>;o 247
/a>o 248
/a>                        return 
a href="+code=err" class="sref">err
/a>;o 249
/a>                }o 250
/a>                if (
a href="+code=ev_code" class="sref">ev_code
/a> >= 128)o 251
/a>                {o 252
/a>                        if (
a href="+code=seq_mode" class="sref">seq_mode
/a> == 
a href="+code=SEQ_2" class="sref">SEQ_2
/a> && 
a href="+code=ev_code" class="sref">ev_code
/a> == 
a href="+code=SEQ_EXTENDED" class="sref">SEQ_EXTENDED
/a>)o 253
/a>                        {o 254
/a>                                
a href="+code=printk" class="sref">printk
/a>(
a href="+code=KERN_WARNING" class="sref">KERN_WARNING
/a> 
spat class="string">"Sequencer: Invalid level 2 event %x\n"ev_code
/a>);o 255
/a>                                return -
a href="+code=EINVAL" class="sref">EINVAL
/a>;o 256
/a>                        }o 257
/a>                        
a href="+code=ev_size" class="sref">ev_size
/a> = 8;o 258.1a>o 259
/a>                        if (
a href="+code=c" class="sref">c
/a> < 
a href="+code=ev_size" class="sref">ev_size
/a>)o 260
/a>                        {o 261
/a>                                if (!
a href="+code=seq_playing" class="sref">seq_playing
/a>)o 262
/a>                                        
a href="+code=seq_startplay" class="sref">seq_startplay
/a>();o 263
/a>                                return 
a href="+code=count" class="sref">count
/a> - 
a href="+code=c" class="sref">c
/a>;o 264
/a>                        }o 265
/a>                        if (
a href="+code=copy_from_user" class="sref">copy_from_user
/a>((char *)&
a href="+code=event_rec" class="sref">event_rec
/a>[4],o 266
/a>                                           &(
a href="+code=buf" class="sref">buf
/a>)[
a href="+code=p" class="sref">p
/a> +"4],"4))o 267
/a>                                goto 
a href="+code=out" class="sref">out
/a>;o 268.1a>o 269
/a>                }o 270
/a>                elseo 271
/a>                {o 272
/a>                        if (
a href="+code=seq_mode" class="sref">seq_mode
/a> == 
a href="+code=SEQ_2" class="sref">SEQ_2
/a>)o 273
/a>                        {o 274
/a>                                
a href="+code=printk" class="sref">printk
/a>(
a href="+code=KERN_WARNING" class="sref">KERN_WARNING
/a> 
spat class="string">"Sequencer: 4 byte event in level 2 mode\n" 275
/a>                                return -
a href="+code=EINVAL" class="sref">EINVAL
/a>;o 276
/a>                        }o 277
/a>                        
a href="+code=ev_size" class="sref">ev_size
/a> = 4;o 278.1a>o 279
/a>                        if (
a href="+code=event_rec" class="sref">event_rec
/a>[0] != 
a href="+code=SEQ_MIDIPUTC" class="sref">SEQ_MIDIPUTC
/a>)o 280
/a>                                
a href="+code=obsolete_api_used" class="sref">obsolete_api_used
/a> = 1;o 281
/a>                }o 282.1a>o 283
/a>                if (
a href="+code=event_rec" class="sref">event_rec
/a>[0] == 
a href="+code=SEQ_MIDIPUTC" class="sref">SEQ_MIDIPUTC
/a>)o 284
/a>                {o 285
/a>                        if (!
a href="+code=midi_opened" class="sref">midi_opened
/a>[
a href="+code=event_rec" class="sref">event_rec
/a>[2]])o 286
/a>                        {o 287
/a>                                int"
a href="+code=err" class="sref">err
/a>, 
a href="+code=mode" class="sref">mode
/a>;o 288
/a>                                int"
a href="+code=dev" class="sref">dev
/a> = 
a href="+code=event_rec" class="sref">event_rec
/a>[2];o 289.1a>o 290
/a>                                if (
a href="+code=dev" class="sref">dev
/a> >= 
a href="+code=max_mididev" class="sref">max_mididev
/a> || 
a href="+code=midi_devs" class="sref">midi_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]==
a href="+code=NULL" class="sref">NULL
/a>)o 291
/a>                                {o 292
/a>                                        
spat class="comment">/*printk("Sequencer Error: Nonexistent MIDI device %d\n", dev);*/
/spatio 293
/a>                                        return -
a href="+code=ENXIO" class="sref">ENXIO
/a>;o 294
/a>                                }o 295
/a>                                
a href="+code=mode" class="sref">mode
/a> = 
a href="+code=translate_mode" class="sref">translate_mode
/a>(
a href="+code=file" class="sref">file
/a>);o 296.1a>o 297
/a>                                if ((
a href="+code=err" class="sref">err
/a> = 
a href="+code=midi_devs" class="sref">midi_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=open" class="sref">open
/a>(
a href="+code=dev" class="sref">dev
/a>, 
a href="+code=mode" class="sref">mode
/a>,o 298
/a>                                                                
a href="+code=sequencer_midi_input" class="sref">sequencer_midi_input
/a>, 
a href="+code=sequencer_midi_output" class="sref">sequencer_midi_output
/a>)) < 0)o 299
/a>                                {o 300
/a>                                        
a href="+code=seq_reset" class="sref">seq_reset
/a>();o 301
/a>                                        
a href="+code=printk" class="sref">printk
/a>(
a href="+code=KERN_WARNING" class="sref">KERN_WARNING
/a> 
spat class="string">"Sequencer Error: Unable to open Midi #%d\n"dev
/a>);o 302
/a>                                        return 
a href="+code=err" class="sref">err
/a>;o 303
/a>                                }o 304
/a>                                
a href="+code=midi_opened" class="sref">midi_opened
/a>[
a href="+code=dev" class="sref">dev
/a>] = 1;o 305
/a>                        }o 306
/a>                }o 307
/a>                if (!
a href="+code=seq_queue" class="sref">seq_queue
/a>(
a href="+code=event_rec" class="sref">event_rec
/a>,"(
a href="+code=file" class="sref">file
/a>->
a href="+code=f_flags" class="sref">f_flags
/a> & (
a href="+code=O_NONBLOCK" class="sref">O_NONBLOCK
/a>) ? 1 : 0)))o 308
/a>                {o 309
/a>                        int"
a href="+code=processed" class="sref">processed
/a> = 
a href="+code=count" class="sref">count
/a> - 
a href="+code=c" class="sref">c
/a>;o 318.1a>o 311
/a>                        if (!
a href="+code=seq_playing" class="sref">seq_playing
/a>)o 312
/a>                                
a href="+code=seq_startplay" class="sref">seq_startplay
/a>();o 313.1a>o 314
/a>                        if (!
a href="+code=processed" class="sref">processed
/a> && (
a href="+code=file" class="sref">file
/a>->
a href="+code=f_flags" class="sref">f_flags
/a> & 
a href="+code=O_NONBLOCK" class="sref">O_NONBLOCK
/a>))o 315
/a>                                return -
a href="+code=EAGAIN" class="sref">EAGAIN
/a>;o 316
/a>                        elseo 317
/a>                                return 
a href="+code=processed" class="sref">processed
/a>;o 318
/a>                }o 319
/a>                
a href="+code=p" class="sref">p
/a> += 
a href="+code=ev_size" class="sref">ev_size
/a>;o 320
/a>                
a href="+code=c" class="sref">c
/a> -= 
a href="+code=ev_size" class="sref">ev_size
/a>;o 321
/a>        }o 322.1a>o 323
/a>        if (!
a href="+code=seq_playing" class="sref">seq_playing
/a>)o 324
/a>                
a href="+code=seq_startplay" class="sref">seq_startplay
/a>();o 325.1a>
a href="+code=out" class="sref">out
/a>:o 326
/a>        return 
a href="+code=count" class="sref">count
/a>;o 327
/a>}o 328.1a>o 329
/a>static int"
a href="+code=seq_queue" class="sref">seq_queue
/a>(unsigned char *
a href="+code=note" class="sref">note
/a>,"char 
a href="+code=nonblock" class="sref">nonblock
/a>)o 330
/a>{o 331.1a>o 332
/a>        
spat class="comment">/*
/spatio 333
/a>
spat class="comment">         * Test if there is space in the queue
/spatio 334
/a>
spat class="comment">         */
/spatio 335.1a>o 336
/a>        if (
a href="+code=qlen" class="sref">qlen
/a> >= 
a href="+code=SEQ_MAX_QUEUE" class="sref">SEQ_MAX_QUEUE
/a>)o 337
/a>                if (!
a href="+code=seq_playing" class="sref">seq_playing
/a>)o 338
/a>                        
a href="+code=seq_startplay" class="sref">seq_startplay
/a>();        
spat class="comment">/*
/spatio 339.1a>
spat class="comment">                                                 * Gove chance to drain the queue
/spatio 340
/a>
spat class="comment">                                                 */
/spatio 341.1a>o 342
/a>        if (!
a href="+code=nonblock" class="sref">nonblock
/a> && 
a href="+code=qlen" class="sref">qlen
/a> >= 
a href="+code=SEQ_MAX_QUEUE" class="sref">SEQ_MAX_QUEUE
/a> && !
a href="+code=waitqueue_ac/ove" class="sref">waitqueue_ac/ove
/a>(&
a href="+code=seq_sleeper" class="sref">seq_sleeper
/a>)) {o 343
/a>                
spat class="comment">/*
/spatio 344
/a>
spat class="comment">                 * Sleep until there is enough space on the queue
/spatio 345
/a>
spat class="comment">                 */
/spatio 346
/a>                
a href="+code=interruptible_sleep_on" class="sref">interruptible_sleep_on
/a>(&
a href="+code=seq_sleeper" class="sref">seq_sleeper
/a>);o 347
/a>        }o 348
/a>        if (
a href="+code=qlen" class="sref">qlen
/a> >= 
a href="+code=SEQ_MAX_QUEUE" class="sref">SEQ_MAX_QUEUE
/a>)o 349
/a>        {o 350
/a>                return 0;       
spat class="comment">/*
/spatio 351
/a>
spat class="comment">                                 * To be sure
/spatio 352
/a>
spat class="comment">                                 */
/spatio 353
/a>        }o 354
/a>        
a href="+code=memcpy" class="sref">memcpy
/a>(&
a href="+code=queue" class="sref">queue
/a>[
a href="+code=qtail" class="sref">qtail
/a> * 
a href="+code=EV_SZ" class="sref">EV_SZ
/a>],"
a href="+code=note" class="sref">note
/a>,"
a href="+code=EV_SZ" class="sref">EV_SZ
/a>);o 355.1a>o 356
/a>        
a href="+code=qtail" class="sref">qtail
/a> = (
a href="+code=qtail" class="sref">qtail
/a> + 1) % 
a href="+code=SEQ_MAX_QUEUE" class="sref">SEQ_MAX_QUEUE
/a>;o 357
/a>        
a href="+code=qlen" class="sref">qlen
/a>++;o 358.1a>o 359
/a>        return 1;o 360
/a>}o 361.1a>o 362
/a>static int"
a href="+code=extended_event" class="sref">extended_event
/a>(unsigned char *
a href="+code=q" class="sref">q
/a>)o 363
/a>{o 364
/a>        int"
a href="+code=dev" class="sref">dev
/a> = 
a href="+code=q" class="sref">q
/a>[2];o 365.1a>o 366
/a>        if (
a href="+code=dev" class="sref">dev
/a> < 0 || 
a href="+code=dev" class="sref">dev
/a> >= 
a href="+code=max_synthdev" class="sref">max_synthdev
/a>)o 367
/a>                return -
a href="+code=ENXIO" class="sref">ENXIO
/a>;o 368.1a>o 369
/a>        if (!(
a href="+code=synth_open_mask" class="sref">synth_open_mask
/a> & (1 << 
a href="+code=dev" class="sref">dev
/a>)))o 370
/a>                return -
a href="+code=ENXIO" class="sref">ENXIO
/a>;o 371.1a>o 372
/a>        switch (
a href="+code=q" class="sref">q
/a>[1])o 373
/a>        {o 374
/a>                case 
a href="+code=SEQ_NOTEOFF" class="sref">SEQ_NOTEOFF
/a>:o 375
/a>                        
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=kill_note" class="sref">kill_note
/a>(
a href="+code=dev" class="sref">dev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" class="sref">q
/a>[4],"
a href="+code=q" class="sref">q
/a>[5]);o 376
/a>                        break;o 377
/a>o 378
/a>                case 
a href="+code=SEQ_NOTEON" class="sref">SEQ_NOTEON
/a>:o 379
/a>                        if (
a href="+code=q" class="sref">q
/a>[4] > 127 && 
a href="+code=q" class="sref">q
/a>[4] != 255)o 380
/a>                                return 0;o 381.1a>o 382
/a>                        if (
a href="+code=q" class="sref">q
/a>[5] == 0)o 383
/a>                        {o 384
/a>                                
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=kill_note" class="sref">kill_note
/a>(
a href="+code=dev" class="sref">dev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" class="sref">q
/a>[4],"
a href="+code=q" class="sref">q
/a>[5]);o 385
/a>                                break;o 386
/a>                        }o 387
/a>                        
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=start_note" class="sref">start_note
/a>(
a href="+code=dev" class="sref">dev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" class="sref">q
/a>[4],"
a href="+code=q" class="sref">q
/a>[5]);o 388
/a>                        break;o 389.1a>o 390
/a>                case 
a href="+code=SEQ_PGMCHANGE" class="sref">SEQ_PGMCHANGE
/a>:o 391
/a>                        
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=set_instr" class="sref">set_instr
/a>(
a href="+code=dev" class="sref">dev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" class="sref">q
/a>[4]);o 392
/a>                        break;o 393.1a>o 394
/a>                case 
a href="+code=SEQ_AFTERTOUCH" class="sref">SEQ_AFTERTOUCH
/a>:o 395
/a>                        
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=aftertouch" class="sref">aftertouch
/a>(
a href="+code=dev" class="sref">dev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" class="sref">q
/a>[4]);o 396
/a>                        break;o 397
/a>o 398
/a>                case 
a href="+code=SEQ_BALANCE" class="sref">SEQ_BALANCE
/a>:o 399
/a>                        
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=panning" class="sref">panning
/a>(
a href="+code=dev" class="sref">dev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"(char) 
a href="+code=q" class="sref">q
/a>[4]);o 400
/a>                        break;o 401.1a>o 402
/a>                case 
a href="+code=SEQ_CONTROLLER" class="sref">SEQ_CONTROLLER
/a>:o 403
/a>                        
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=controller" class="sref">controller
/a>(
a href="+code=dev" class="sref">dev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" class="sref">q
/a>[4],"(short) (
a href="+code=q" class="sref">q
/a>[5] | (
a href="+code=q" class="sref">q
/a>[6] << 8)));o 404
/a>                        break;o 405.1a>o 406
/a>                case 
a href="+code=SEQ_VOLMODE" class="sref">SEQ_VOLMODE
/a>:o 407
/a>                        if (
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=volume_method" class="sref">volume_method
/a> != 
a href="+code=NULL" class="sref">NULL
/a>)o 408
/a>                                
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=volume_method" class="sref">volume_method
/a>(
a href="+code=dev" class="sref">dev
/a>,"
a href="+code=q" class="sref">q
/a>[3]);o 409
/a>                        break;o 418.1a>o 411
/a>                default:o 412
/a>                        return -
a href="+code=EINVAL" class="sref">EINVAL
/a>;o 413
/a>        }o 414
/a>        return 0;o 415
/a>}o 416.1a>o 417
/a>static int"
a href="+code=find_voice" class="sref">find_voice
/a>(int"
a href="+code=dev" class="sref">dev
/a>, int"
a href="+code=chn" class="sref">chn
/a>, int"
a href="+code=note" class="sref">note
/a>)o 418
/a>{o 419
/a>        unsigned short"
a href="+code=key" class="sref">key
/a>;o 420
/a>        int"
a href="+code=i" class="sref">i
/a>;o 421.1a>o 422
/a>        
a href="+code=key" class="sref">key
/a> = (
a href="+code=chn" class="sref">chn
/a> << 8) | (
a href="+code=note" class="sref">note
/a> + 1);o 423
/a>        for (
a href="+code=i" class="sref">i
/a> = 0; 
a href="+code=i" class="sref">i
/a> < 
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc" class="sref">alloc
/a>.
a href="+code=max_voice" class="sref">max_voice
/a>; 
a href="+code=i" class="sref">i
/a>++)o 424
/a>                if (
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc" class="sref">alloc
/a>.
a href="+code=map" class="sref">map
/a>[
a href="+code=i" class="sref">i
/a>] == 
a href="+code=key" class="sref">key
/a>)o 425
/a>                        return 
a href="+code=i" class="sref">i
/a>;o 426
/a>        return -1;o 427
/a>}o 428.1a>o 429
/a>static int"
a href="+code=alloc_voice" class="sref">alloc_voice
/a>(int"
a href="+code=dev" class="sref">dev
/a>, int"
a href="+code=chn" class="sref">chn
/a>, int"
a href="+code=note" class="sref">note
/a>)o 430
/a>{o 431
/a>        unsigned short""
a href="+code=key" class="sref">key
/a>;o 432
/a>        int"
a href="+code=voice" class="sref">voice
/a>;o 433.1a>o 434
/a>        
a href="+code=key" class="sref">key
/a> = (
a href="+code=chn" class="sref">chn
/a> << 8) | (
a href="+code=note" class="sref">note
/a> + 1);o 435.1a>o 436
/a>        
a href="+code=voice" class="sref">voice
/a> = 
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc_voice" class="sref">alloc_voice
/a>(
a href="+code=dev" class="sref">dev
/a>,"
a href="+code=chn" class="sref">chn
/a>, 
a href="+code=note" class="sref">note
/a>,o 437
/a>                                             &
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc" class="sref">alloc
/a>);o 438
/a>        
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc" class="sref">alloc
/a>.
a href="+code=map" class="sref">map
/a>[
a href="+code=voice" class="sref">voice
/a>] = 
a href="+code=key" class="sref">key
/a>;o 439
/a>        
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc" class="sref">alloc
/a>.
a href="+code=alloc_times" class="sref">alloc_times
/a>[
a href="+code=voice" class="sref">voice
/a>] =o 440
/a>                        
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc" class="sref">alloc
/a>.
a href="+code=timestamp" class="sref">timestamp
/a>++;o 441
/a>        return 
a href="+code=voice" class="sref">voice
/a>;o 442
/a>}o 443.1a>o 444
/a>static void 
a href="+code=seq_chn_voice_event" class="sref">seq_chn_voice_event
/a>(unsigned char *
a href="+code=event_rec" class="sref">event_rec
/a>)o 445
/a>{o 446
/a>#define 
a href="+code=dev" class="sref">dev
/a> 
a href="+code=event_rec" class="sref">event_rec
/a>[1]o 447
/a>#define 
a href="+code=cmd" class="sref">cmd
/a> 
a href="+code=event_rec" class="sref">event_rec
/a>[2]o 448
/a>#define 
a href="+code=chn" class="sref">chn
/a> 
a href="+code=event_rec" class="sref">event_rec
/a>[3]o 449
/a>#define 
a href="+code=note" class="sref">note
/a> 
a href="+code=event_rec" class="sref">event_rec
/a>[4]o 450
/a>#define 
a href="+code=parm" class="sref">parm
/a> 
a href="+code=event_rec" class="sref">event_rec
/a>[5]o 451.1a>o 452
/a>        int"
a href="+code=voice" class="sref">voice
/a> = -1;o 453.1a>o 454
/a>        if ((int) 
a href="+code=dev" class="sref">dev
/a> > 
a href="+code=max_synthdev" class="sref">max_synthdev
/a> || 
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>] == 
a href="+code=NULL" class="sref">NULL
/a>)o 455
/a>                return;o 456
/a>        if (!(
a href="+code=synth_open_mask" class="sref">synth_open_mask
/a> & (1 << 
a href="+code=dev" class="sref">dev
/a>)))o 457
/a>                return;o 458
/a>        if (!
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>])o 459
/a>                return;o 468.1a>o 461
/a>        if (
a href="+code=seq_mode" class="sref">seq_mode
/a> == 
a href="+code=SEQ_2" class="sref">SEQ_2
/a>)o 462
/a>        {o 463
/a>                if (
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc_voice" class="sref">alloc_voice
/a>)o 464
/a>                        
a href="+code=voice" class="sref">voice
/a> = 
a href="+code=find_voice" class="sref">find_voice
/a>(
a href="+code=dev" class="sref">dev
/a>,"
a href="+code=chn" class="sref">chn
/a>, 
a href="+code=note" class="sref">note
/a>);o 465.1a>o 466
/a>                if (
a href="+code=cmd" class="sref">cmd
/a> == 
a href="+code=MIDI_NOTEON" class="sref">MIDI_NOTEON
/a> && 
a href="+code=parm" class="sref">parm
/a> == 0)o 467
/a>                {o 468
/a>                        
a href="+code=cmd" class="sref">cmd
/a> = 
a href="+code=MIDI_NOTEOFF" class="sref">MIDI_NOTEOFF
/a>;o 469
/a>                        
a href="+code=parm" class="sref">parm
/a> = 64;o 470
/a>                }o 471
/a>        }o 472.1a>o 473
/a>        switch (
a href="+code=cmd" class="sref">cmd
/a>)o 474
/a>        {o 475
/a>                case 
a href="+code=MIDI_NOTEON" class="sref">MIDI_NOTEON
/a>:o 476
/a>                        if (
a href="+code=note" class="sref">note
/a> > 127 && 
a href="+code=note" class="sref">note
/a> != 255)  
spat class="comment">/* Not a seq2 feature */
/spatio 477
/a>                                return;o 478.1a>o 479
/a>                        if (
a href="+code=voice" class="sref">voice
/a> == -1 && 
a href="+code=seq_mode" class="sref">seq_mode
/a> == 
a href="+code=SEQ_2" class="sref">SEQ_2
/a> && 
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc_voice" class="sref">alloc_voice
/a>)o 480
/a>                        {o 481
/a>                                
spat class="comment">/* Internal synthesizer (FM, GUS, etc) */
/spatio 482
/a>                                
a href="+code=voice" class="sref">voice
/a> = 
a href="+code=ode=alloc_voice" class="sref">alloc_voice
/a>(
a href="+code=dev" class="sref">dev
/a>,"
a href="+code=chn" class="sref">chn
/a>, 
a href="+code=note" class="sref">note);o 477
/a>                       7"+code=parm" class="sref">parm
/a> == 0a hre4="+code=synth_devs" class="sre/a> == -1 && 
a href="+code=seq_mode" class="s80" class="line" namaluL480"> 480
/a>                                4reak;4alloc_voice
/a>=note" class="sref">note)72" i1luL472" 1111111111111111111111>                        }o 417
/a>       4                
a href=4+code4synth_devs" class="sref">synth_mode
/a> == 
a href="+code=SEQ_2" class="sref">SEQ_2
/a>)ofile
/a>-&g > 
a href="+code=max_synthdev" class="sref"))o 480
/a>o 481
/a>        ="sound/oss/sequencer.c#4390" 48f="sound/oss/sequencer.c#L300" idluL3d/oss/sequencer.c#L351" idluL351" class="line" namaluL351"> 351
4a>       4        case 
a href="+c4de=SE49                               */
/spatio 351
4a>                        
a href=4+code49               * To be sure
/spatio 351
4a>                        break;o<4 href49               */
/spatio 353
4a>o 394
4a>       4        case 
a href="+c4de=SE4_AFTERTOUCH" class="srrrrrrrrrrrrrrrrr== 
a href="+code=MI_rec" class="sref">event_a>)980" class="line" namaluL480"> 480
/a>       4                
a href=4+code4synth_devs" class="sref">synthhhhhhhhh81" class="line" namaluL481"> 481
/a>       4                break;o<4 href4"sound/oss/sequencer.c#L397" iiiiiiiiiiiiiiiii_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc_voice" class="sref">alloc_voice
/a>)odev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" ce=ode=alloc_voice" class="sre, 128s+oodev
/a>]->
a href="+code=alloc_voice" class="sref">alloc_voice
/a>)oeeinfo]->
a href="+codeI_rec" class="sref">event]tamp
/a>++;o128s+oo                       7"+coa>       4                
a href=4+code4synth_devs" class="sref">synthiiiiiiii_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc_voice" class="sref">alloc_voice
/a>)oq
/a>[3],"
a href="+code=q" ce=ode=alloc_voice" class="sre, ;
a href="+codeI_rec" class="sref">event472" i1luL472" 111111111111111111115a>       5                break;o<5 href5"sound/oss/sequencer.c#L401" i477
/a>                       7"+c5a>osynth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=set_instr" class="sref">set_instr
/a>(
a href=f="+code=dev" class="sref">dev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" ce=ode=alloc_voice" class="sre, ;
a href="+codeV_SZ" class="sref">EV_SZ
/a>);o 418.5a>       5                
a href=5+code50luL394" class="line" namaluL394"> 394
5a>       5                break;o<5 href5"sound/oss/sequencer.c>MIDI_NOTEON
/a>:o 476
5a>osynth/a> == -1 && 
a href="+code=seq_mode" class="s80" class="line" namaluL480"> 480
5a>       5        case 
a href="+c5de=SE5_VOLMODE" class="sref"ass="sref">synth_devs
/a>[
a hre=ode=alloc_voice" class="sref">alloc_voice
/a>=note" class="sref">note)72" i1luL472" 111111111111111111115a>       5                if (
a h5ef="+5ode=synth_devs" class="sref">s_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=set_instr" class="sref">set_instr
/a>(
a href="+code=dev" class="sref">dev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" ce=ode=alloc_voice" class="sre, ;
a href="+codeV_SZ" class="sref">EV_SZ
/a>);o 418.5a9       5                
a href=5 href50luL390" class="line" namaluL390"> 390
5a>oSEQ_PGMCHANGE
/a>r.c#LKEY_PRESSUREnd/oss/sequencer.c#LKEY_PRESSUREluL476" class="line" namaluL476"> 476
5a>       5        default:osynth/a> == -1 && 
a href="+code=seq_mode" class="s80" class="line" namaluL480"> 480
5a>       5                return -5a hre5="+code=EINVAL" class="sref">Ef">synth_devs
/a>[
a hre=ode=alloc_voice" class="sref">alloc_voice
/a>=note" class="sref">note)72" i1luL472" 111111111111111111115a>       5}o _devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc_voice" class="sref">alloc_voice
/a>)odev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" ce=ode=alloc_voice" class="sre, ;
a href="+codeund/oss/sequencer.c#L470" i472" i1luL472" 111111111111111111115a>       5return 0;o 405.5a>}o 466
5a>o 405.5a>       5nt"
a href="+code=find_v5ice" 51#L348" idluL348" class="line" namaluL348"> 348
5a>{o 348
5a9       5unsigned short"
a href="5code=5ey" cl#ne"ef; 
a href="+code/sequencer.c#L474" idluL48" class="line" namaluL348"> 348
5a>       5int"
a href="+code=i" cl5ss="s5ef">i
#ne"ef; 
a href="+code/note" class="sref">note)8" class="line" namaluL348"> 348
5a>       5="sound/oss/sequencer.c#5422" 5dluL42#ne"ef; 
a href="+codeV_SZ" class="sref">EV_SZ
/a8" class="line" namaluL348"> 348
5a>       5
a href="+code=key" clas5="sre5">key
#ne"ef; 
a href="+codeund/oss/sequencer.c#L470" i8" class="line" namaluL348"> 348
5a>       5for (
a href="+code=i" c5ass="5ref">i48" class="line" namaluL348"> 348
5a>       5        if (
a href="+co5e=syn5h_devs8" class="line" namaluL348"> 348
5a>}o 466
5a>       5return -1;oseq_chn_voice_event/spaonunsigned char *
a href="+code/spaonunsign,"
a s="sref">event_rec
/a>)o 445
5a>}o 481
5a>oevent 
a href="+code=max_synthdev" class="sref">alloc_voice
/a>ref="sound/oss/sequencer.c#L447" idluL4405" class="line" namaluL405"> 405.5a>static 5nt"
a href="+code=alloc_5oice"52y" class="sref">key
/aevent 
a href="+codeDI_NOTEOFF" class="sref">MIDI_NOTEOFF
/a>;oref="sound/oss/sequencer.c#L448" idluL4405" class="line" namaluL405"> 405.5a>{okey
/aevent 
a href="+codeD_rec" class="sref">event_a_rec
/a>[3]o 405.5a>       5unsigned short""
a href=5+code5key" class="sref">key
/event 
a href="+codep1oss/sequencer.c#1vent_a_rec
/a>[3]o 405.5a>       5int"
a href="+code=voice5 clas53luL473" class="line" namaluL473"> 473
5a>okey
/eventp2_a_.c#L449" [5];3" idluL353" class="line" namaluL353"> 353
5a>       5
a href="+code=key" clas5="sre5">key
/a> = (
f">key
/a>;o 405.5a>}o 436
5a>       5
a href="+code=voice" cl5ss="s53mask" class="sref> > 
a href="+code=max_synthdev" class="sref">max_synthdev
/a> || 
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>] == 
a href="+code=NULL" class="sref">NULL
/a>)o 436
5a>}o 478.5a>       5
a href="+code=synth_dev5" cla53class="sref">synth>synth_open_mask
/a> & (1 << 
a href="+code=dev" class="sref">dev
/a>)))o 457
5a>       5
a href="+code=synth_dev5" cla53ss/sequencer.c#L460" idluL460" class="line" namaluL460"> 468.5a>       5                
a href=5+code5synth_devs" clsynth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>])o 459
5a>       5return 
a href="+code=vo5ce" c54oss/sequencer.c#L412"idluL460" class="line" namaluL460"> 468.5a>       5f="sound/oss/sequencer.c5L443"54luL473" class="line" namaluL473"> 473
5a>ocmd
/a>)o 474
5a>static 5oid 
a href="+code=seq_c5n_voi54#L475" idluL475" class="line" namaluL475"> 475
5a>{oMIDI_NOTEON
/a>:o 476
5a>#define5
a href="+code=dev" clas5="sre54de=note" class="sref">note
/a> > 127 &&amf="+code=SEQ_2" class="sref">SEQ_2
/a>)o 462
5a>#define5
a href="+code=cmd" clas5="sre54de=synth_devs" class="sref">s75" class="line" namaluL475"> 475
5a>       5
a href="+code=chn" clas5="sre54"+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=volume_method" class="sref">volume_method
/a>codeinfoec" class="sref">eeinfo]->
a href="+codeI_rec" class="sref">event]tamp
/a>++;o 
a href="+codep1oss/sequencer.c#1vent60" class="line" namaluL460"> 468.5a>       5
a href="+code=note" cla5s="sr54ynth_devs" class="sref">synthiiiiiiiisref> > 
a href="+code=max_synthdev" class="sref">ma"> 
a href="+codenumlass="=dev" class="srenumlass="=luL480" class="line" namaluL480"> 480
5a>#define5
a href="+code=parm" cla5s="sr55;osynth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=volume_method" class="sref">volume_method
/a>="+code=dev" class="sref">dev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" c=note" class="sref">note);oosynth48" class="line" namaluL348"> 348
5a>       5int"
a href="+code=voice5 clas55"+code=EINVAL" class="sref">Eelse8" class="line" namaluL348"> 348
5a>o f">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=volume_method" class="sref">volume_method
/a>="+code=dev" class="sref">dev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" c=note" class="sref">note);ostatic 5if ((int) 
a href="+code5dev" 55_devs8" class="line" namaluL348"> 348
5a>       5        return;o 405.5a>       5if (!(
a href="+code=syn5h_ope55luL417" class="line" namaluL417"> 417
5a>       5        return;oMIDI_NOTEON
/a>:o 476
5a>       5if (!
a href="+code=synt5_devs55"+code=synth_devs" class="sre> > 127 &&amf="+code=SEQ_2" class="sref">SEQ_2
/a>)o 462
5a>       5        return;o 475
5a>oevent_s="sre5ynth_devs
/a>[
a hrp1oss/sequencer.c#1vent_s="sref"62" class="line" namaluL462"> 462
5a>       5if (
a href="+code=seq_m5de" c56ass="comment">/* Internal synthesizer        dluL405" class="line" namaluL405"> 405.5a>       5{o 473
5a>       5        if (
a href="+co5e=syn5h_devs" class="sref">sssssssssssssssss_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=volume_method" class="sref">volume_method
/a>codeinfoec" class="sref">eeinfo]->
a href="+codeI_rec" class="sref">event]tamp
/a>++;odev
/a>=dev" class="sref">dev
/a>=]->
a href="+codep1oss/sequencer.c#1vento0x7f05" class="line" namaluL405"> 405.5a>static 5                
a href=5+code56_devs8" class="line" namaluL348"> 348
5a>osynthhhhhhhhh== 
a href="+code=Mp1oss/sequencer.c#1vent_s))o<32)ssss_(FM, GUS, etc) */
/spatiSetting MSBa>;ould GUear LSBato 03" idluL353" class="line" namaluL353"> 353
5a>       5        if (
a href="+co5e=cmd5 class="sref">cmd
/a> "sref">sssssssssssssssss_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=volume_method" class="sref">volume_method
/a>codeinfoec" class="sref">eeinfo]->
a href="+codeI_rec" class="sref">event]tamp
/a>++;odev
/a>=dev" class="sref">dev
/a>=]->
a href="+codep1oss/sequencer.c#1vent +<32]t; 
a3" class="line" namaluL353"> 353
5a>       5        {o 398
5a>       5                
a href=5+code5cmd" class="sref">cmd
/a> = 
ahhhhhhhh== 
g > 
a href="+code=max_synthdev" class="sref"))o 480
5a>       5                
a href=5+code5parm" class="sref">parm
/a> =         75" class="line" namaluL475"> 475
5a>       5        }ocmd
/a> = 
ahhhhhhhh=a> = -1;o 
a href="+codewreturn 0;o0x7f05" class="line" namaluL405"> 405.5a>       5}o/* Internal synthesizer        href="sound/oss/sequencer.c#L421" idluL4;o 439
5a>o 473
5a>       5switch (
a href="+code=c5d" cl57_devs" class="sref">sssssssssssssssss        h= 
a href="+code=Mp1oss/sequencer.c#1vent_s))o<64)ssss_(FM, GUS, etc) */
/spatiComb> 
aMSBaand LSBa" idluL353" class="line" namaluL353"> 353
5a>       5{o 475
5a>o(h_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc_voice" class="sref">allo5" class="line" namaluL475"> 475
5a>       5                if (
a h5ef="+5ode=note" class="sref">note
/a""""""""""""""""""""""""""""""""= -1;oeeinfo]->
a href="+codeI_rec" class="sref">event]tamp
/a>++;odev
/a>=dev" class="sref">dev
/a>=]->
a href="+codep1oss/sequencer.c#1vent sref">~32]tsref">0x7f)v
/a>)))o<"62" class="line" namaluL462"> 462
5a>       5                        5eturn5odev
/a>]->
a href="+code=alloc_voice" class="sref">allo5" class="line" namaluL475"> 475
5a>       5="sound/oss/sequencer.c#5479" 57md" class="sref">cmd
/a> = 
ahhhhhhhh""""""""""""""""""""""""= -1;oeeinfo]->
a href="+codeI_rec" class="sref">event]tamp
/a>++;odev
/a>=dev" class="sref">dev
/a>=]->
a href="+codep1oss/sequencer.c#1vent | 32]tsref">0x7f)o5" class="line" namaluL475"> 475
5a>       5                if (
a h5ef="+5ode=voice" class="sref">voice
""""""""""""""""""""""""= -1;o~32o5" class="line" namaluL475"> 475
5a>       5                {o 348
5a>       5                        5spat 5lass="comment">/* Internal synthesizer""""""""=(FM, GUS, etc) */
/spatiHandle allqspating EV_Ss on thisund/onel " idluL353" class="line" namaluL353"> 353
5a>       5                        5a hre58luL473" class="line" namaluL473"> 473
511111111151111111111111           5     5             returnmaluL477"> """"""""""""""""= -1;ochn
/a> <g > 
a href="+coderef="+code=note" class="sref">note
/ao5" class="line" namaluL475"> 475
5a>       5lass="sref">parm
/a> == 5a hre58_devs8" class="line" namaluL348"> 348
5a>       5                        5reak;5i
/a> < 
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc" class="sref">alloc
/a>.
a href="+code=max_voice" class="sref">max_voice
/a>; 
a href="+codee=SEQ_2" class=">i
/a>++)o 424
51>       5                }onote
/a""""""""""""""""""""""""== 
g_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc" class="sref">alloc
/a>.
a href="+code=max_voice" class="sref">max_voice
/a>; 
a href=ss="sref">i
/a>] == 
a href="+code=key" class="sref">key
/a>)osref">0xff00)o 425
5a>       5                
a href=5+code5synth_devs" class="sref">synthhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=volume_method" class="sref">volume_method
/a>c">dev
/a>dev" class="sref">dev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" cuencer.c#L421" idluL4;o 475
5a>       5                break;o<5 href5"sound/oss/sequencer.c#L389" iiiiiiiii48" class="line" namaluL348"> 348
5a>       5="sound/oss/sequencer.c#5390" 58f="sound/oss/sequencer.c#L300" idluL3else8" class="line" namaluL348"> 348
5a>       5        case 
a href="+c5de=SE59;osynth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=volume_method" class="sref">volume_method
/a>c">dev
/a>dev" class="sref">dev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" c=note" class="sref">note);o 475
5a>       5                
a href=5+code59oss/sequencer.c#L412"f">synth48" class="line" namaluL348"> 348
5a>       5                break;o<5 href59"+code=EINVAL" class="sref">Eelseynth_(FM, GUS, etc) */
/spatiMund 1 " idluL353" class="line" namaluL353"> 353
5a>osssssssssssssssss_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=volume_method" class="sref">volume_method
/a>c">dev
/a>dev" class="sref">dev
/a>,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" c=note" class="sref">note);o 475
5a>       5        case 
a href="+c5de=SE5_AFTERTOUCH" class="srrrrrrrrrdluL405" class="line" namaluL405"> 405.5a>       5                
a href=5+code59luL436" class="line" namaluL436"> 436
5a>       5                break;o<5 href5"sound/oss/sequencer.c>MIDI_NOTEON
/a>:o 476
5a>oSEQ_2
/a>)o 462
5a>o 475
5a>       5                
a href=5+code5synth_devs" class="sref">synthiiiiiiii_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc_voice" class="sref">alloc_voice
/a>)oeeinfo]->
a href="+codeI_rec" class="sref">event]tamp
/a>++;o 
a href="+codewreturn 0;o 405.6a>       6                break;o<6 href60luL461" class="line" namaluL461"> 461
6a>osynthode=synt> &gg > 
a href="+code=max_synthdev" class="sref"))o 480
6a2o 475
6a>       6                
a href=6+code60            returnmaluL477"> """"""""""""""""=(FM, GUS, etc) */
/spatiHandle allqspating EV_Ss on thisund/onel " idluL353" class="line" namaluL353"> 353
6a>       6                break;o<6 href6"sound/oss/sequencer.cass="sref">synthode=synt>ref="sound/oss/sequencer.c#L421" idluL4;o 439
6a>o 436
6a>       6        case 
a href="+c6de=SE6_VOLMODE" class="sref"ass="sref">synth""""""""= -1;ochn
/a> < 
a href="+coderef="+code=note" class="sref">note
/ao5" class="line" namaluL475"> 475
6a>       6                if (
a h6ef="+60luL398" class="line" namaluL398"> 398
6a8       6        case 
a href="+c6a hre6="+code=synth_devs" class="sreeeeeeeeeeeeeeeee; 
a href="+code=i" class="sref">i
/a> < 
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc" class="sref">alloc
/a>.
a href="+code=max_voice" class="sref">max_voice
/a>; 
a href="+codee=SEQ_2" class=">i
/a>++)o 424
6a9       6                
a href=6 href60de=voice" class="sref">voice
""""""""""""""""""""""""== 
g_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc" class="sref">alloc
/a>.
a href="+code=max_voice" class="sref">max_voice
/a>; 
a href=ss="sref">i
/a>] == 
a href="+code=key" class="sref">key
/a>)osref">0xff00)o 425
6a>odev
/a>]->
a href="+code=alloc" class="sref">alloc
/a>.
a href="+code=bender=SEQ_2" class="bender,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" cuencer.c#L421" idluL4;o 475
6a>       6        default:osynthhhhhhhhh48" class="line" namaluL348"> 348
6a>       6                return -6a hre6="+code=EINVAL" class="sref">Ef">synthelse8" class="line" namaluL348"> 348
6a>       6}o eeeeeeeeeeeeeeee_devs
/a>[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc" class="sref">alloc
/a>.
a href="+code=bender=SEQ_2" class="bender,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" c=note" class="sref">note);o 475
6a>       6return 0;o 348
6a>o 353
6a>o[
a href="+code=dev" class="sref">dev
/a>]->
a href="+code=alloc" class="sref">alloc
/a>.
a href="+code=bender=SEQ_2" class="bender,"
a href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" c=note" class="sref">note);o 475
6a>       6nt"
a href="+code=find_v6ice" 61     &
a href="+code=syntdluL405" class="line" namaluL405"> 405.6a>{o 479
6a9       6unsigned short"
a href="6code=61de=voice" class="sref idluL4105" class="line" namaluL405"> 405.6a>       6int"
a href="+code=i" cl6ss="s62PGMCHANGE" cl48" class="line" namaluL348"> 348
6a>       6="sound/oss/sequencer.c#6422" 6dluL4248" class="line" namaluL348"> 348
6a>       6
a href="+code=key" clas6="sre62luL473" class="line" namaluL473"> 473
6a>       6for (
a href="+code=i" c6ass="6ref">it" clas>ref="sound/oss/seqsreftimingunsigned char *
a href="+timingunsign,"
a s="sref">event_rec
/a>)o 445
6a>       6        if (
a href="+co6e=syn6h_devs75" class="line" namaluL475"> 475
6a>}okey
/aevent 
a href="+codeDI_NOTEOFF" class="sref">MIDI_NOTEOFF
/a>;oref="sound/oss/sequencer.c#L448" idluL4405" class="line" namaluL405"> 405.6a>       6return -1;okey
/a>ref="sound/oss/seqund/oss/sequencer.c#L470" idlu*g &g *)>synth_devs
/a>[
a hrref="sound/oss/sequencer.c#L449" idluL4405" class="line" namaluL405"> 405.6a>}o 398
6a>osyntt; 127 &&amf="+code=SEQ_2" class="sref">SEQ_2
/a>)o 462
6a>static 6nt"
a href="+code=alloc_6oice"62y" class="sre75" class="line" namaluL475"> 475
6a>{o 439
6a>       6unsigned short""
a href=6+code6key" c9" class="line" namaluL439"> 439
6a>       6int"
a href="+code=voice6 clas63"+code=EINVAL" class=== 
g_devs
/a>[
a hrrened char *
a hrerenluL4MIDI_NOTEOFF
/a>;otmr=SEQ_2" class="tmrluL4
/a>.
a href="+code=nsigned char *
a hrensign,"
a I_NOTEOFF
/a>;otmr_noec" class="sreftmr_noote);o 462
6a>o == 
g_devs
/a>[
a hr2" iMAX_QUEUound/oss/sequenc2" iMAX_QUEUo     - href="sound/ossqleote" class="srefqleoluL46f">ma"> 
a href="+codeoutput_t hrshol_NOTEOFF" class=output_t hrshol_luL462" class="line" namaluL462"> 462
6a>       6
a href="+code=key" clas6="sre63sound/oss/sequencer.cass="sref">synthi
/a>]wake_us,"
a synth_devs
/a>[
a hrsrefsleeper=SEQ_2" class="srefsleeperoundao5" class="line" namaluL475"> 475
6a>}o 439
6a>       6
a href="+code=voice" cl6ss="s63mask" class="48" class="line" namaluL348"> 348
6a>}o)o 474
6a>       6
a href="+code=synth_dev6" cla63class="sref">75" class="line" namaluL475"> 475
6a>static 6
a href="+code=synth_dev6" cla63ss/sequencer.c#L460" >MIDI_NOTEON
/a>:o 476
6a>       6                
a href=6+code64PGMCHANGE" class="sreeeeeeeee="sound/oss/seqund/oss/sequencer.c#L470" id+"> 
a href="+codeprevunsign+time=SEQ_2" class="prevunsign+timeluL439" class="line" namaluL439"> 439
6a>       6return 
a href="+code=vo6ce" c64ey" c9" class="line" namaluL439"> 439
6a>       6f="sound/oss/sequencer.c6L443"64"+code=EINVAL" class="sref">Ed/oss/sequencer.c#L351" idluL351" class="line" namaluL351"> 351
6a>odinuese>rI.c#idluL351" class="line" namaluL351"> 351
6a>       6oid 
a href="+code=seq_c6n_voi64#L475          */
/spatio 351
6a>}o 353
6a>#define6
a href="+code=dev" clas6="sre64luL417" class="line" namaluL417"> 417
6a>#define6
a href="+code=cmd" clas6="sre64de=synth_devs" class=>MIDI_NOTEON
/a>:o 476
6a>       6
a href="+code=chn" clas6="sre64"+code=synth_devs" class="sreh= 
a href="+code=Mpnd/oss/sequencer.c#L470" ids="sr074" class="line" namaluL474"> 474
6a>       6
a href="+code=note" cla6s="sr64ynth_devs" class="sref">synth75" class="line" namaluL475"> 475
6a>#define6
a href="+code=parm" cla6s="sr65;o 439
6a>o 439
6a>       6int"
a href="+code=voice6 clas65"+code=EINVAL" class="sref">EEEEEEEEEI_NOTEOFF
/a>;otime=SEQ_2" class="timeluL4f"> 
a href="+codepnd/oss/sequencer.c#L470" i39" class="line" namaluL439"> 439
6a>o f">synth_devs
/a>[
a hrprevunsign+time=SEQ_2" class="prevunsign+timeluL4MIDI_NOTEOFF
/a>;otime=SEQ_2" class="timeluL439" class="line" namaluL439"> 439
6a>       6if ((int) 
a href="+code6dev" 65_devs8" class="line" namaluL348"> 348
6a>       6        return;osynth_devs
/a>[
a hrsrefspating=SEQ_2" class="srefspatingluL4MID139" class="line" namaluL439"> 439
6a>#define6if (!(
a href="+code=syn6h_ope65VOLMODE" class="sref"eeeeeeeeeeeeeeee_devs
/a>[
a hrruL43st_line"+timer=SEQ_2" class="ruL43st_line"+timer,"
a I_NOTEOFF
/a>;otime=SEQ_2" class="timeluL4ao5" class="line" namaluL475"> 475
6a>       6        return;o 398
6a>       6if (!
a href="+code=synt6_devs65"+code=synth_devs" class="sreeeeeeeee== 
g_devs
/a>[
a hr2" iMAX_QUEUound/oss/sequenc2" iMAX_QUEUo     - href="sound/ossqleote" class="srefqleoluL46f">ma"> 
a href="+codeoutput_t hrshol_NOTEOFF" class=output_t hrshol_luL462" class="line" namaluL462"> 462
6a>       6        return;o[
a hrwake_uss="sref">i
/a>]wake_us,"
a synth_devs
/a>[
a hrsrefsleeper=SEQ_2" class="srefsleeperoundao5" class="line" namaluL475"> 475
6a>o 475
6a>o/* Internal syn48" class="line" namaluL348"> 348
6a>       6{o 418.6a>       6        if (
a href="+co6e=syn66luL394" class="line" namaluL394"> 394
6a>static 6                
a href=6+code66sound/oss/sequencer.c>MIDI_NOTEON
/a>:o 476
6a>osynth="sound/oss/seqsreftime=SEQ_2" class="sreftimeluL4MIDI_NOTEOFF
/a>;ojiffie=dev" class="srejiffie=luL4o5" class="line" namaluL475"> 475
6a>#define6        if (
a href="+co6e=cmd6 class="sref">cmd
/a> "sref">s_devs
/a>[
a hrprevuinput_time=SEQ_2" class="prevuinput_timeluL4MID
a3" class="line" namaluL353"> 353
6a>       6        {os_devs
/a>[
a hrprevunsign+time=SEQ_2" class="prevunsign+timeluL4MID
a3" class="line" namaluL353"> 353
6a>       6                
a href=6+code6cmd" class="sref">cmd
/a> = 
adluL410" class="line" namaluL410"> 418.6a>       6                
a href=6+code66luL390" class="line" namaluL390"> 390
6a>       6        }oMIDI_NOTEON
/a>:o 476
6a>       6}o/* Internal syndluL410" class="line" namaluL410"> 418.6a>o 473
6a>       6switch (
a href="+code=c6d" cl67_devs" class="sref">s>MIDI_NOTEON
/a>:o 476
6a>static 6{o 418.6a>o 436
6a>       6                if (
a h6ef="+6ode=note" class="sref">MIDI_NOTEON
/a>:o 476
6a>       6                        6eturn6o 418.6a>       6="sound/oss/sequencer.c#6479" 67luL479" class="line" namaluL479"> 479
6a>       6                if (
a h6ef="+6ode=voice" class="sref>MIDI_NOTEON
/a>:o 476
6a>       6                {oSEQ_2
/a>)o 462
6a>       6                        6spat 6lass="comment">/* Internal synthesizert; 127 &&amf="+copy_touinput=SEQ_2" class="srefcopy_touinput,"
a I_NOTEOFF
/a>;of="sound/oss/sequencer.c#L445" idluL4,
/ao5" class="line" namaluL475"> 475
6a>       6                        6a hre68"+code=EINVAL" class="sref">Eelse8" class="line" namaluL348"> 348
611111111161111111111111           6     6             returnmaluL477"> 75" class="line" namaluL475"> 475
6a>       6lass="sref">parm
/a> == 6a hre68sound/oss/sequencer.cass="sref">synthnote
/ th_devs
/a>[
a hr2" iECHOund/oss/sequenc2" iECHOoundao5" class="line" namaluL475"> 475
6a>       6                        6reak;6event_)>synth_devs
/a>[
a hrpnd/oss/sequencer.c#L470" i, 4ao5" class="line" namaluL475"> 475
6a>       6                }onote
/a48" class="line" namaluL348"> 348
6a>       6                
a href=6+code6synth_devs" class="sref">synthdluL410" class="line" namaluL410"> 418.6a>       6                break;o<6 href68luL479" class="line" namaluL479"> 479
6a>       6="sound/oss/sequencer.c#6390" 68f="sound/oss/sequence idluL4105" class="line" namaluL405"> 405.6a>       6        case 
a href="+c6de=SE69PGMCHANGE" cl48" class="line" namaluL348"> 348
6a>       6                
a href=6+code69ey" c9" class="line" namaluL439"> 439
6a>       6                break;o<6 href69"+code=EINVALidluL4f="sound/oss/seqTIMER_NOT_ARMEDund/oss/sequencTIMER_NOT_ARMEDluL4o5" class="line" namaluL475"> 475
6a>oi48" class="line" namaluL348"> 348
6a>       6        case 
a href="+c6de=SE69_devs8" class="line" namaluL348"> 348
6a>       6                
a href=6+code69luL43t" class="sref">seq_chn_voice_elocalunsigned char *
a href="+localunsign,"
a s="sref">event_rec
/a>)o 445
6a>       6                break;o<6 href6"sound75" class="line" namaluL475"> 475
6a>oevent""= -1;oMIDI_NOTEOFF
/a>;oref="sound/oss/sequencer.c#L448" idluL4405" class="line" namaluL405"> 405.6a>o>refnth &g *)>synth_devs
/a>[
a hrref="sound/oss/sequencer.c#L449" idluL44ao5" class="line" namaluL475"> 475
6a>       6                
a href=6+code69luL390" class="line" namaluL390"> 390
7a>       7                break;o<7 href70PGMCHANGE" cl/a>)o 474
7a>o 475
7a2o 476
7a>       7                
a href=7+code70            returnmaluL477"> _NOTEON
/a>:o;ound/oss/sequencer.c#L470" i472" i1luL472" 111111111111111111117a>       7                break;o<7 href7"sound/oss/sequencer.cass="sredluL410" class="line" namaluL410"> 418.7a>o 436
7a>       7        case 
a href="+c7de=SE7_VOLMODE" class="sref" idluL4105" class="line" namaluL405"> 405.7a>       7                if (
a h7ef="+70#L348" idluL348" class="line" namaluL348"> 348
7a8       7        case 
a href="+c7a hre7="+cod48" class="line" namaluL348"> 348
7a9       7                
a href=7 href70luL390" class="line" namaluL390"> 390
7a>oseq_chn_voice_esysex_message=SEQ_2" class="srefsysex_message,"
a s="sref">event_rec
/a>)o 445
7a>       7        default:o 475
7a>       7                return -7a hre7="+code=EINVALf">key
/a>ref="sound/oss/seq=max_synthdev" class="sref">alloc_voice
/a>ref="sound/oss/sequencer.c#L447" idluL4405" class="line" namaluL405"> 405.7a>       7}o
a3" class="line" namaluL353"> 353
7a>       7return 0;oevent"_rec
/a>)osynth_devs
/a>[
a hrref="sound/oss/sequencer.c#L449" idluL4405" class="line" namaluL405"> 405.7a>o 436
7a>omax_synthdev
/a> || 
a href="+code=synth_devs" class="sref">s45" class="line" namaluL445"> 445
7a>       7nt"
a href="+code=find_v7ice" 71     &
a href="+cidluL460" class="line" namaluL460"> 468.7a>{osynth>synth_open_mask
/a> & (1 << 
a href="+code=dev" class="sref">dev
/a>)))o 457
7a9       7unsigned short"
a href="7code=71de=voice" class="srefidluL460" class="line" namaluL460"> 468.7a>       7int"
a href="+code=i" cl7ss="s72ynth_devs" clsynth_devs
/a>[
a href="+code=dev" class="sref">dev
/a>])o 459
7a>       7="sound/oss/sequencer.c#7422" 72oss/sequencer.c#L412"idluL460" class="line" namaluL460"> 468.7a>       7
a href="+code=key" clas7="sre72luL473" class="line" namaluL473"> 473
7a>       7for (
a href="+code=i" c7ass="72            r a href="sound/ldev" class="srel"sref">
a3" class="line" namaluL353"> 353
7a>       7        if (
a href="+co7e=syn72sound/oss/seq; 
a href="+code=i" class="sref">i
/a> < 
a href="+code=synth_devs" class="sref">synth6"sref"sref">rec
/a>)okey
/a>)o!=>0xffhref="sound/oss/sequencer.c#L424" idluL424" class="line" namaluL424"> 424
7a>}ohref="+code=synth_devs" class="sref">+D139" class="line" namaluL439"> 439
7a>       7return -1;o 417
7a>}o[
a href="+code=dev" class="sref">dev
/a>])ovolume_method
/a>="ndfsysex=SEQ_2" class="srndfsysexf">s45" class="line" namaluL445"> 445
7a>ocmd
idluL460" class="line" namaluL460"> 468.7a9       7nt"
a href="+code=alloc_7oice"72y" class="sresyntt; 127 &&amldev" class="srel"srefs="sr074" class="line" namaluL474"> 474
7a>{odev
/a>])ovolume_method
/a>="ndfsysex=SEQ_2" class="srndfsysexf">s href="+code=q" class="sref">q
/a>[3],"
a href="+code=q" cbufdev" class="srebuf"sre;o       7unsigned short""
a href=7+code73luL4248" class="line" namaluL348"> 348
7a>       7int"
a href="+code=voice7 clas73luL473" class="line" namaluL473"> 473
7a>oit" clas>ref="sound/oss/seqspatunsigned char *
a hrespatunsign,"
a s="sref">event_rec
/a>)os45" class="line" namaluL445"> 445
7a>       7
a href="+code=key" clas7="sre73_devs75" class="line" namaluL475"> 475
7a>}o 351
7a>       7
a href="+code=voice" cl7ss="s73mask"          */
/spatio 351
7a>}onormal nsignqspated.idluL351" class="line" namaluL351"> 351
7a>oTimer armed. Sus=dedqspatbackqs=til timer callback.idluL351" class="line" namaluL351"> 351
7a9       7
a href="+code=synth_dev7" cla73ss/se          */
/spatio hre output buffer full. Restore L35ueaand sus=dedqs=til timeridluL351" class="line" namaluL351"> 351
7a>       7                
a href=7+code74PGMCH          */
/spatio 353
7a>       7return 
a href="+code=vo7ce" c74oss/sequencers="sref"> &g *href="+code=q" clpatss="sref">q
/a>[3patluL4o5" class="line" namaluL475"> 475
7a>       7f="sound/oss/sequencer.c7L443"74luL473" class="line" namaluL473"> 473
7a>o)os[0459" class="line" namaluL459"> 459
7a>       7oid 
a href="+code=seq_c7n_voi74sound/oss/seq75" class="line" namaluL475"> 475
7a>}o 476
7a>#define7
a href="+code=dev" clas7="sre74de=note" class="sref">note
/asyntt; 127 &&amf/a> & (1 << 
a href="+code=dev" class="sref">dev
/a>)))o<0457" class="line" namaluL457"> 457
7a>#define7
a href="+code=cmd" clas7="sre74de=synth_devs" class=s="sref">note
/asyntt; 127 &&amf/a> &ode=dev" class="sref">dev
/a>])o 459
7a>odev
/a>])ovolume_method
/a>kill_EV_Sdev" class="srekill_EV_S,"
a 0;os[1], 255;os[34ao5" class="line" namaluL475"> 475
7a>       7
a href="+code=note" cla7s="sr74ynth_devs" class="sref">synthdluL410" class="line" namaluL410"> 418.7a>#define7
a href="+code=parm" cla7s="sr75luL461" class="line" namaluL461"> 461
7a>oMIDI_NOTEON
/a>:o 476
7a>       7int"
a href="+code=voice7 clas75"+code=EINVAL" class="sref">Esyntt; 127 &&amqed char *
a hreqf">s[4]>synth128ynth_devs
/a>[
a hrqed char *
a hreqf">s[4]>== 25559" class="line" namaluL459"> 459
7a>o f">synthsyntt; 127 &&amf/a> & (1 << 
a href="+code=dev" class="sref">dev
/a>)))o<0457" class="line" namaluL457"> 457
7a>       7if ((int) 
a href="+code7dev" 75sound/oss/sequencer.cass="sref">synthode=synt>yntt; 127 &&amf/a> &ode=dev" class="sref">dev
/a>])o 459
7a>       7        return;osynthhhhhhhhhhhhhhhhht; 127 &&amf/a> &ode=dev" class="sref">dev
/a>])ovolume_method
/a>t" rtvEV_Sdev" class="sret" rtvEV_S,"
a 0;os[1], s[2], s[34ao5" class="line" namaluL475"> 475
7a>#define7if (!(
a href="+code=syn7h_ope75VOLMODE" class="sref"eeeeeeeedluL410" class="line" namaluL410"> 418.7a>#define7        return;o 398
7a>       7if (!
a href="+code=synt7_devs75"+code=synth_devs" cl>MIDI_NOTEON
/a>:o 476
7a>       7        return;oq
/a>[3patluL4dlu
s="sref"> &g *)>s;     h/oss/sequencer.c#L351" idluL351" class="line" namaluL351"> 351
7a>odaining the  idluL351" class="line" namaluL351"> 351
7a>orI'ticks'idluL351" class="line" namaluL351"> 351
7a>       7{o 353
7a>       7        if (
a href="+co7e=syn76            returnmaluL477"> *href="+code=q" clpatss="sref">q
/a>[3patluL4dlu
*href="+code=q" clpatss="sref">q
/a>[3patluL4d">vos="sr8)osref">0xffffff10" class="line" namaluL410"> 418.7a>static 7                
a href=7+code76_devs8" class="line" namaluL348"> 348
7a>osynth>ynt*href="+code=q" clpatss="sref">q
/a>[3patluL4d">vor074" class="line" namaluL474"> 474
7a>#define7        if (
a href="+co7e=cmd7 class="sref">cmd
/a> "sref">s75" class="line" namaluL475"> 475
7a>       7        {ossssssssslongDI_NOTEOFF
/a>;otime=SEQ_2" class="timeluL439" class="line" namaluL439"> 439
7a>       7                
a href=7+code76luL479" class="line" namaluL479"> 479
7a>       7                
a href=7+code76ynth_devs" class="sref">synthiiiiiiii_devs
/a>[
a hrerefspating=SEQ_2" class="srefspatingluL4MID139" class="line" namaluL439"> 439
7a>       7        }osynthiiiiiiii_devs
/a>[
a hrtime=SEQ_2" class="timeluL4f">*href="+code=q" clpatss="sref">q
/a>[3patluL4o5" class="line" namaluL475"> 475
7a>       7}o/* Internal syniiiiiiii_devs
/a>[
a hrprevunsign+time=SEQ_2" class="prevunsign+timeluL4MIDI_NOTEOFF
/a>;otime=SEQ_2" class="timeluL439" class="line" namaluL439"> 439
7a>o 473
7a>       7switch (
a href="+code=c7d" cl77_devs" class="sref">srnal syniiiiiiii_devs
/a>[
a hrruL43st_line"+timer=SEQ_2" class="ruL43st_line"+timer,"
a I_NOTEOFF
/a>;otime=SEQ_2" class="timeluL4ao5" class="line" namaluL475"> 475
7a>static 7{o 348
7a>osynth== 
g_devs
/a>[
a hr2" iMAX_QUEUound/oss/sequenc2" iMAX_QUEUo     - href="sound/ossqleote" class="srefqleoluL46f">ma"> 
a href="+codeoutput_t hrshol_NOTEOFF" class=output_t hrshol_luL462" class="line" namaluL462"> 462
7a>       7                if (
a h7ef="+7ode=note" class="sref""sref">srnal syniiiiiiii_devs
/a>[
a hrwake_uss="sref">i
/a>]wake_us,"
a synth_devs
/a>[
a hrsrefsleeper=SEQ_2" class="srefsleeperoundao5" class="line" namaluL475"> 475
7a>       7                        7eturn7o 351
7a>       7="sound/oss/sequencer.c#7479" 77class          */
/spatio 351
7a>       7                if (
a h7ef="+77ss/se          */
/spatio 351
7a>       7                {o 353
7a>       7                        7spat 7lass="comment">/* Internal synthesizeridluL4f139" class="line" namaluL439"> 439
7a>       7                        7a hre78"+code=EINVAL" class="sref">E48" class="line" namaluL348"> 348
711111111171111111111111           7     7             returnmaluL477"> dluL410" class="line" namaluL410"> 418.7a>       7lass="sref">parm
/a> == 7a hre78_devs8" class="line" namaluL348"> 348
7a>       7                        7reak;7 476
7a>       7                }onote
/asyntt; 127 &&amf/a> & (1 << 
a href="+code=dev" class="sref">dev
/a>)))o<0457" class="line" namaluL457"> 457
7a>       7                
a href=7+code7synth_devs" class="sref">synthhhhhhhhh>yntt; 127 &&amf/a> &ode=dev" class="sref">dev
/a>])o 459
7a>       7                break;o<7 href7"sound/oss/sequencer.c#L389" iiiiiiiiiiiiiiiiit; 127 &&amf/a> &ode=dev" class="sref">dev
/a>])ovolume_method
/a>tet_instr=SEQ_2" class="srt_instr,"
a 0;os[1], s[2]ao5" class="line" namaluL475"> 475
7a>       7="sound/oss/sequencer.c#7390" 78f="sound/oss/sequencer.c#L300dluL410" class="line" namaluL410"> 418.7a>       7        case 
a href="+c7de=SE79luL461" class="line" namaluL461"> 461
7a>       7                
a href=7+code79oss/sequencer.c#L412">MIDI_NOTEON
/a>:o 351
7a>       7                break;o<7 href79CONTR          */
/spatio 351
7a>o 353
7a>       7        case 
a href="+c7de=SE7_AFTERTOUCH" class="srrrrrrrrr_devs
/a>[
a hrsreftime=SEQ_2" class="sreftimeluL4MIDI_NOTEOFF
/a>;ojiffie=dev" class="srejiffie=luL4o5" class="line" namaluL475"> 475
7a>       7                
a href=7+code79ynth_devs" class="sref">synth="sound/oss/seqprevuinput_time=SEQ_2" class="prevuinput_timeluL4MID
a3" class="line" namaluL353"> 353
7a>       7                break;o<7 href7"sound/oss/sequencer.cf">synth="sound/oss/seqprevunsign+time=SEQ_2" class="prevunsign+timeluL4MID
a3" class="line" namaluL353"> 353
7a>o 418.7a>       7        case 
a href="+c7de=SE79luL479" class="line" namaluL479"> 479
7a>       7                
a href=7+code7synth_devs" class="sre>MIDI_NOTEON
/a>:o 351
8a>       8                break;o<8 href80PGMCH          */
/spatio 351
8a>o 353
8a2os[s[2]459" class="line" namaluL459"> 459
8a>       8                
a href=8+code80            returnmaluL477"> 75" class="line" namaluL475"> 475
8a>       8                break;o<8 href8"sound/oss/sequencer.cass="sref">synth>ref="sound/oss/seq=max_synthdev" class="sre10" class="line" namaluL410"> 418.8a>o 436
8a>       8        case 
a href="+c8de=SE8_VOLMODE" class="sref"ass="sref">synth="sound/oss/seq=max_synthdev" class="sreMIDI_NOTEOFF
/a>;oqed char *
a hreqf">s[2]10" class="line" namaluL410"> 418.8a7       8 "sound/oss/sequencer.c#8ef="+80luL398" class="line" namaluL398"> 398
8a8       8        case 
a href="+c8a hre8="+code=synth_devs" class="sreeeeeeeeesyntt; 127 &&am=max_synthdev" class="sref"))o<0ynth_devs
/a>[
a hr=max_synthdev" class="sref">maIDI_NOTEOFF
/a>;onum_midi=dev" class="srenum_midi="srefnth_devs
/a>[
a hrmididode=dev" class="sremididode=f">s[)o 462
8a9       8                
a href=8 href80de=voice" class="sref">voice
""""""""""""""""dluL410" class="line" namaluL410"> 418.8a>o 461
8a>       8        default:osynthhhhhhhhhsynth_devs
/a>[
a hrmididode=dev" class="sremididode=f">s[volume_method
/a>outputnd/oss/sequenceroutputn,"
a I_NOTEOFF
/a>;oclass="sref">q
/a>[3],"
a href="+code=q" cqed char *
a hreqf">s[1]457" class="line" namaluL457"> 457
8a>       8                return -8a hre8="+code=EINVAL" class="sref">Ef">synth75" class="line" namaluL475"> 475
8a>       8}o eeeeeeeeeeeeeeee_/oss/sequencer.c#L351" idluL351" class="line" namaluL351"> 351
8a>       8return 0;o 351
8a>o 353
8a>o 417
8a>       8nt"
a href="+code=find_v8ice" 81     &
a href="+code=synteeeeeeeeeeeeeeee_devs
/a>[
a hrerefspating=SEQ_2" class="srefspatingluL4MID139" class="line" namaluL439"> 439
8a>{o 475
8a9       8unsigned short"
a href="8code=81de=voice" class="srefffffffffffffffffffffffffidluL4f2o5" class="line" namaluL475"> 475
8a>       8int"
a href="+code=i" cl8ss="s82uencer.c#L471" idluL4f">synthiiiiiiii48" class="line" namaluL348"> 348
8a>       8="sound/oss/sequencer.c#8422" 82oss/sequencer.c#L412"""""""""""""""""else8" class="line" namaluL348"> 348
8a>       8
a href="+code=key" clas8="sre82"+code=EINVAL" class="sref">Ef">synthhhhhhhhh_devs
/a>[
a hrmididwritteote" class="srefmididwritteof">s[ 439
8a>       8for (
a href="+code=i" c8ass="82            returnmaluL477"> 48" class="line" namaluL348"> 348
8a>       8        if (
a href="+co8e=syn82sound/oss/sequencer.cass="sredluL410" class="line" namaluL410"> 418.8a>}o 436
8a>       8return -1;oMIDI_NOTEON
/a>:o 476
8a>}os_devs
/a>[
a hrs="+copy_touinput=SEQ_2" class="srefcopy_touinput,"
a I_NOTEOFF
/a>;oqed char *
a hreqf">s, 4ao"sref">s_/oss/sequencer.c#L351" idluL351" class="line" namaluL351"> 351
8a>o 351
8a9       8nt"
a href="+code=alloc_8oice"82ss/se          */
/spatio 353
8a>{o 418.8a>       8unsigned short""
a href=8+code8key" c9" class="line" namaluL439"> 439
8a>       8int"
a href="+code=voice8 clas83"+code=EINVAL" class=>MIDI_NOTEON
/a>:o 476
8a>o == 
gint)>s[1] )))os45" class="line" namaluL445"> 445
8a>       8
a href="+code=key" clas8="sre83sound/oss/sequencer.cass="sref">synthdev
/a>])os[1]4f">volume_method
/a>hw_f">droldev" class="srehw_f">drol,"
a I_NOTEOFF
/a>;oqed char *
a hreqf">s[1], sao5" class="line" namaluL475"> 475
8a>}o 418.8a>       8
a href="+code=voice" cl8ss="s83luL417" class="line" namaluL417"> 417
8a>}oMIDI_NOTEON
/a>:o 476
8a>o:o;oqed char *
a hreqf">sao5" class="line" namaluL475"> 475
8a9       8
a href="+code=synth_dev8" cla83ss/sequencer.c#L460" eeeeeeeedluL410" class="line" namaluL410"> 418.8a>       8                
a href=8+code84luL461" class="line" namaluL461"> 461
8a>       8return 
a href="+code=vo8ce" c84oss/sequencer.c#L412">MIDI_NOTEON
/a>:o 476
8a>       8f="sound/oss/sequencer.c8L443"84"+code=EINVAL" class="sref">Eddevs
/a>[
a hrs="+chn_voiceunsigned char *
a href="+chn_voiceunsign,"
a I_NOTEOFF
/a>;oqed char *
a hreqf">sao5" class="line" namaluL475"> 475
8a>o dluL410" class="line" namaluL410"> 418.8a>       8oid 
a href="+code=seq_c8n_voi84_devs8" class="line" namaluL348"> 348
8a>}o 476
8a>       8
a href="+code=dev" clas8="sre84de=note" class="sref">note
/addevs
/a>[
a hrs="+chn_/spaonunsigned char *
a href="+chn_/spaonunsign,"
a I_NOTEOFF
/a>;oqed char *
a hreqf">sao5" class="line" namaluL475"> 475
8a>}o 418.8a>o 479
8a>       8
a href="+code=note" cla8s="sr84ynth_devs" class="sre>MIDI_NOTEON
/a>:o 476
8a>#define8
a href="+code=parm" cla8s="sr85;o;oqed char *
a hreqf">sa/a>)o 445
8a>o 475
8a>       8int"
a href="+code=voice8 clas85"+code=EINVAL" class="sref">EEEEEEEEEidluL4f139" class="line" namaluL439"> 439
8a>o 48" class="line" namaluL348"> 348
8a>       8if ((int) 
a href="+code8dev" 85sound/oss/sequencer.cass="sredluL410" class="line" namaluL410"> 418.8a>       8        return;o 436
8a>#define8if (!(
a href="+code=syn8h_ope85VOLMODE" class="sref">MIDI_NOTEON
/a>:o 476
8a>}os_devs
/a>[
a hrs="+localunsigned char *
a href="+localunsign,"
a I_NOTEOFF
/a>;oqed char *
a hreqf">sao5" class="line" namaluL475"> 475
8a>       8if (!
a href="+code=synt8_devs85"+code=synth_devs" class="sredluL410" class="line" namaluL410"> 418.8a>       8        return;o 390
8a>o 476
8a>o/* Internal syn_devs
/a>[
a hrs="+sysex_message=SEQ_2" class="srefsysex_message,"
a I_NOTEOFF
/a>;oqed char *
a hreqf">sao5" class="line" namaluL475"> 475
8a>       8{o 418.8a>       8        if (
a href="+co8e=syn86luL394" class="line" namaluL394"> 394
8a>static 8                
a href=8+code86sound/oss/sequencer.c idluL4105" class="line" namaluL405"> 405.8a>o 348
8a>#define8        if (
a href="+co8e=cmd8 class="sref">idluL4f
a3" class="line" namaluL353"> 353
8a>       8        {o 348
8a>       8                
a href=8+code86luL479" class="line" namaluL479"> 479
8a>       8                
a href=8+code86ss/se          */
/spatiodexto* idluL353" class="line" namaluL353"> 353
8a>       8        }oseq_chn_voice_es" rtppatss="sref">q
/a>ce_es" rtppat,"
a s="s45" class="line" namaluL445"> 445
8a>       8}o 475
8a>oref="sound/oss/seqthis_one=SEQ_2" class="this_one,"
a href="+code=q" caction=SEQ_2" class="actionidre10" class="line" namaluL410"> 418.8a>       8switch (
a href="+code=c8d" cl87_devs" class=s="sref">longDI_NOTEOFF
/a>;oflag=dev" class="sreflag=idre10" class="line" namaluL410"> 418.8a>static 8{o 348
8a>ovor074" class="line" namaluL474"> 474
8a>       8                if (
a h8ef="+8ode=note" clas75" class="line" namaluL475"> 475
8a>       8                        8eturn87luL398" class="line" namaluL398"> 398
8a>       8="sound/oss/sequencer.c#8479" 87"+code=synth_devs" clef">seq_chn_voicpin+lock_irqsave=SEQ_2" class="spin+lock_irqsave,"
a synth_devs
/a>[
a hrlock=SEQ_2" class="lock,"
a I_NOTEOFF
/a>;oflag=dev" class="sreflag=idreao5" class="line" namaluL475"> 475
8a>       8                if (
a h8ef="+8ode=voice" class="sreft; 127 &&amqhea_NOTEOFF" class=qhea_luL4MID
g_devs
/a>[
a hrthis_one=SEQ_2" class="this_one,"
aMIDI_NOTEOFF
/a>;oqhea_NOTEOFF" class=qhea_luL4)>+D1)I%o 475
8a>       8                {o 475
8a>       8                        8spat 8lass="comment">/* Inteef">seq_chn_voicpin+unlock_irqrestore=SEQ_2" class="spin+unlock_irqrestore,"
a synth_devs
/a>[
a hrlock=SEQ_2" class="lock,"
a I_NOTEOFF
/a>;oflag=dev" class="sreflag=idreao5" class="line" namaluL475"> 475
8a>       8                        8a hre88luL473" class="line" namaluL473"> 473
811111111181111111111111           8     8             returnmal_devs
/a>[
a hrerefspating=SEQ_2" class="srefspatingluL4MID139" class="line" namaluL439"> 439
8a>       8lass="sref">parm
/a> == 8a hre88_devs8" class="line" namaluL348"> 348
8a>       8                        8reak;8[
a hrq35uete" class="srefq35ue])o:o 457
8a>       8                }o 353
8a>       8                
a href=8+code8synth_devs" class="sref">synthsyntt; 127 &&amaction=SEQ_2" class="actionidreMI= 257" class="line" namaluL457"> 457
8a>       8                break;o<8 href8"sound/oss/sequencer.c#L389" i75" class="line" namaluL475"> 475
8a>       8="sound/oss/sequencer.c#8390" 88f="sound/oss/sequencer.c#L300eturnmal_devs
/a>[
a hrqleote" class="srefqleoluL4++39" class="line" namaluL439"> 439
8a>       8        case 
a href="+c8de=SE89uencer.c#L471" idluL4f">synthiiiiiiii_devs
/a>[
a hrqhea_NOTEOFF" class=qhea_luL4MID href="sound/osthis_one=SEQ_2" class="this_one,"
a39" class="line" namaluL439"> 439
8a>       8                
a href=8+code89oss/sequencer.c#L412"""""""""48" class="line" namaluL348"> 348
8a>       8                break;o<8 href89CONTROLLER" class="srrrrrrrrridluL460" class="line" namaluL460"> 468.8a>o 348
8a>       8        case 
a href="+c8de=SE8_AFTERTOUCH" c48" class="line" namaluL348"> 348
8a>       8                
a href=8+code89luL436" class="line" namaluL436"> 436
8a>       8                break;o<8 href8"sound/oss/seq_devs
/a>[
a hrerefspating=SEQ_2" class="srefspatingluL4MID
a3" class="line" namaluL353"> 353
8a>o 398
8a>       8        case 
a href="+c8de=SE89class="sref">syntg_devs
/a>[
a hr2" iMAX_QUEUound/oss/sequenc2" iMAX_QUEUo     - href="sound/ossqleote" class="srefqleoluL46f">ma"> 
a href="+codeoutput_t hrshol_NOTEOFF" class=output_t hrshol_luL462" class="line" namaluL462"> 462
8a>       8                
a href=8+code8synth_devs" class="sre 
a href="+codewake_uss="sref">i
/a>]wake_us,"
a synth_devs
/a>[
a hrsrefsleeper=SEQ_2" class="srefsleeperoundao5" class="line" namaluL475"> 475
9a>       9                break;o<9 href90PGMCH48" class="line" namaluL348"> 348
9a>o 439
9a2oseq_chn_voireset_f">droller=dev" class="srereset_f">droller=,"
a >ref="sound/oss/seq=max_synthdev" class="sre, s="sref">event_rec
/a>)odrollerx_synthdev" claf">droller"sre, >ref="sound/oss/sequpdate_=max_synthdev" claupdate_=maluL462" class="line" namaluL462"> 462
9a>       9                
a href=9+code90     75" class="line" namaluL475"> 475
9a>       9                break;o<9 href9"sound/oss/seq>ref="sound/oss/sequencer.c#L421" idluL4o5" class="line" namaluL475"> 475
9a5       9                
a href=9406" 90a href="sound; 
a href="+code=i" class="sref">i
/a> < 
a href="+code=synth_devs" class="sref">synth128href="sound/oss/sequencer.c#L424" idluL424" class="line" namaluL424"> 424
9a>       9        case 
a href="+c9de=SE9_VOLMODE" class="sref"rec
/a>)odrollerx_synthdev" claf">droller"srehref="+code=key" class="sref">key
/a>)o"> 
a href="+codectrl_=mf_value=dev" class="srectrl_=mf_value="srehref="+code=key" class="sref">key
/a>)o5" class="line" namaluL475"> 475
9a7       9 "sound/oss/sequencer.c#9ef="+90de=sy48" class="line" namaluL348"> 348
9a8       9        case 
a href="+c9a hre90luL479" class="line" namaluL479"> 479
9a9       9                
a href=9 href90de=vot" class="sref">seq_chn_voicetup_m_vo2=SEQ_2" class="srtup_m_vo2,"
a s="s45" class="line" namaluL445"> 445
9a>o 475
9a>       9        default:oref="sound/oss/seq=max_synthdev" class="sre10" class="line" namaluL410"> 418.9a>       9                return -9a hre91luL473" class="line" namaluL473"> 473
9a>       9}oso"> 
a href="+codenum_ass="=dev" class="srenum_ass="="sre10" class="line" namaluL410"> 418.9a>       9return 0;o 348
9a>o 424
9a>o 475
9a>       9nt"
a href="+code=find_v9ice" 91     &
a href="+c>yntt; 127 &&ammididode=dev" class="sremididode=f">s[rec
/a>)os[volume_method
/a>f">verterx_synthdev" claf">verter    &!>)o 462
9a>{o 475
9a9       9unsigned short"
a href="9code=91de=voice" class="srefffffffffef">seq_chn_voicf="+code=dev" class="sref">dev
/a>])os++)o"> 
a href="+codemididode=dev" class="sremididode=f">s[volume_method
/a>f">verterx_synthdev" claf">verter    10" class="line" namaluL410"> 418.9a>       9int"
a href="+code=i" cl9ss="s92uencer.c#L471" idluL448" class="line" namaluL348"> 348
9a>       9="sound/oss/sequencer.c#9422" 92oss/sequencer48" class="line" namaluL348"> 348
9a>       9
a href="+code=key" clas9="sre92luL473" class="line" namaluL473"> 473
9a>       9for (
a href="+code=i" c9ass="92            r; 
a href="+code=i" =max_synthdev" class="sreMID
a href="+code=syn=max_synthdev" class="sref"))o< 
a href="+code| 
a href="+code=synth_devs" class="sref">sa href="+code=syn=max_synthdev" class="sreL424" class="line" namaluL424"> 424
9a>       9        if (
a href="+co9e=syn92sound/oss/seq75" class="line" namaluL475"> 475
9a>}o 418.9a>o 417
9a>}oseq_chn_voicf="+code=dev" class="sref">dev
/a>])ovolume_method
/a>=ysex_ptr=SEQ_2" class="sysex_ptrluL4MID
a3" class="line" namaluL353"> 353
9a>ocmd
ef">seq_chn_voicf="+code=dev" class="sref">dev
/a>])ovolume_method
/a>emulation=SEQ_2" class="emulationluL4MID
a3" class="line" namaluL353"> 353
9a9       9nt"
a href="+code=alloc_9oice"92luL390" class="line" namaluL390"> 390
9a>{o 424
9a>       9unsigned short""
a href=9+code93oss/sequencer.c#L412"75" class="line" namaluL475"> 475
9a>       9int"
a href="+code=voice9 clas93"+code=EINVAL" class=ef">cmd
ef">seq_chn_voicf="+code=dev" class="sref">dev
/a>])ovolume_method
/a>chn_infote" class="srefcho_info])o 353
9a>o ef">seq_chn_voireset_f">droller=dev" class="srereset_f">droller=,"
a ="sound/oss/seq=max_synthdev" class="sre,3" class="line" namaluL353"> 353
9a>       9
a href="+code=key" clas9="sre93sound/oss/sequencer.cass="sref">synthdev
/a>])ovolume_method
/a>chn_infote" class="srefcho_info])odroller=dev" class="sref">droller=,"
a,0ao5" class="line" namaluL475"> 475
9a>}odev
/a>])ovolume_method
/a>chn_infote" class="srefcho_info])o 353
9a>       9
a href="+code=voice" cl9ss="s93de=note" class="sref">note
/addevs
/a>[
a hrsf="+code=dev" class="sref">dev
/a>])ovolume_method
/a>chn_infote" class="srefcho_info])o 353
9a>}o 348
9a>o 348
9a9       9
a href="+code=synth_dev9" cla93ss/sequencer. 
a href="+code| 
amidi="+code=synth_devs" clmidi="+luL4MID
a3" class="line" namaluL353"> 353
9a>       9                
a href=9+code940s/sequencer. 
a href="+codesrefm_vo=SEQ_2" class="srefm_vof">so"> 
a href="+code2" i2=SEQ_2" class="2" i2    10" class="line" namaluL410"> 418.9a>       9return 
a href="+code=vo9ce" c94oss/s48" class="line" namaluL348"> 348
9a>       9f="sound/oss/sequencer.c9L443"94luL473" class="line" namaluL473"> 473
9a>oref="sound/oss/seqluL473"> de=de=SEQ_2" class="sre473"> de=de,"
a >ref="sound/oss/seq=max_synthdev" class="sre, strucef="sound/oss/seqfilo=SEQ_2" class="filof">so_rec
/a>)os24" class="line" namaluL424"> 424
9a>       9oid 
a href="+code=seq_c9n_voi94_devs75" class="line" namaluL475"> 475
9a>}os,  
a href="+codeuencer.c#L421" idluL4o5" class="line" namaluL475"> 475
9a>       9
a href="+code=dev" clas9="sre94de=note" clas>ref="sound/oss/seqleveldev" class="srelevelf">s,  
a href="+codetmss="sref">i
/a>]tmsluL4o5" class="line" namaluL475"> 475
9a>}o 398
9a>osynth_devs
/a>[
a hrsre473"> de<< 
a href=re473"> de&f">s24" class="line" namaluL424"> 424
9a9       9
a href="+code=note" cla9s="sr94ynth_devs" class="sre_devs
/a>[
a hrsre473"> dinined char *
a href="473"> dinin,"
a ao5" class="line" namaluL475"> 475
9a>#define9
a href="+code=parm" cla9s="sr95luL461" class="line" namaluL461"> 461
9a>osMID
g_devs
/a>[
a hr=max_synthdev" class="sref"ref">0x0fa/a>)os2 ? 2 :D139" class="line" namaluL439"> 439
9a>       9int"
a href="+code=voice9 clas95luL473" class="line" namaluL473"> 473
9a>oma">vor439" class="line" namaluL439"> 439
9a>       9if ((int) 
a href="+code9dev" 95sound/oss/seq 
a href="+code|_vo=SEQ_2" class="m_vof">sMID href="sound/ostranslate_|_vo=SEQ_2" class="translate_|_vo,"
a ="sound/oss/seqfilo=SEQ_2" class="filof">s239" class="line" namaluL439"> 439
9a>}o 436
9a>#define9if (!(
a href="+code=syn9h_ope95VOLMODE" clas="sound/oss/seqDEB=SEQ_2" class="DEB,"
a ="sound/oss/seqpr>re<< 
a hrefpr>re&,"
a =         */
string=>"sre473"> de=de(ss==%od)\n"idluL35,  
a href="+code=max_synthdev" class="sre)239" class="line" namaluL439"> 439
9a>}o 398
9a>       9if (!
a href="+code=synt9_devs95class="sref">synth_devs
/a>[
a hrsre473"> de<< 
a href=re473"> de&f">s24" class="line" namaluL424"> 424
9a>       9        return;o 475
9a>ore&("Sine" card: luL475">  not ininialized\n");* idluL353" class="line" namaluL353"> 353
9a>o/* InteidluL4f-_devs
/a>[
a hrENXIOund/oss/sequencENXIOluL4o5" class="line" namaluL475"> 475
9a>       9{o 348
9a>       9        if (
a href="+co9e=syn96            rsyntt; 127 &&am=max_synthdev" class="sre)devs" class="sre_         */
/spatio  ss=ice (obsolete)o* idluL353" class="line" namaluL353"> 353
9a>static 9                
a href=9+code96sound/oss/sequencer.cidluL4f-_devs
/a>[
a hrENXIOund/oss/sequencENXIOluL4o5" class="line" namaluL475"> 475
9a>}o 436
9a>#define9        if (
a href="+co9e=cmd9 class="sref">iftt; 127 &&amf/a> &ode=dev" class="sref">dev
/a>])o)o 462
9a>       9        {o"s">de0"idluL35239" class="line" namaluL439"> 439
9a>       9                
a href=9+code96luL479" class="line" namaluL479"> 479
9a>       9                
a href=9+code96ynth_devs" cl>yntt; 127 &&amm_vo=SEQ_2" class="m_vof">sMI>)o 462
9a>       9        }o 475
9a>       9}o/* Intesynth_devs
/a>[
a hrnum_midi=dev" class="srenum_midi="sre62" class="line" namaluL462"> 462
9a>       9="sound/oss/sequencer.c#9473" 97"+code=EINVAL" class=75" class="line" namaluL475"> 475
9a>       9switch (
a href="+code=c9d" cl97_devs" class="sref">srnal syn_         */
/spatiore&("SuL475"> : No Mhre ss=ices. Input not pnamible\n");* idluL353" class="line" namaluL353"> 353
9a>static 9{o dbustss="sref">q
/a>ce_473"> dbustluL4MID
a3" class="line" namaluL353"> 353
9a>o[
a hrENXIOund/oss/sequencENXIOluL4o5" class="line" namaluL475"> 475
9a>       9                if (
a h9ef="+9ode=note" class="sref"48" class="line" namaluL348"> 348
9a>       9                        9eturn9o 348
9a>       9="sound/oss/sequencer.c#9479" 97class="sref">synt_devs
/a>[
a hrsre473"> dbustss="sref">q
/a>ce_473"> dbustluL462" class="line" namaluL462"> 462
9a>       9                if (
a h9ef="+97ss/sequencer.75" class="line" namaluL475"> 475
9a>       9                {o 475
9a>       9                        9spat 98oss/sequencer48" class="line" namaluL348"> 348
9a>       9                        9a hre98"+code=EINVAL_devs
/a>[
a hrsre473"> dbustss="sref">q
/a>ce_473"> dbustluL4MID139" class="line" namaluL439"> 439
911111111191111111111111           9     98            r="sound/oss/seqobsolete_api_use_NOTEOFF" class=obsolete_api_use_luL4MID
a3" class="line" namaluL353"> 353
9a>       9lass="sref">parm
/a> == 9a hre98_devs8" class="line" namaluL348"> 348
9a>       9                        9reak;9 353
9a>       9                }oso"> 
a href="+codenum_ass="=dev" class="srenum_ass="="sre10" class="line" namaluL410"> 418.9a>       9                
a href=9+code9synth_devs" cl="sound/oss/seqpreunsign+timeout=SEQ_2" class="preunsign+timeoutf">so"> 
a href="+codeMAX_SCHEDULE_TIMEOUT=SEQ_2" class="MAX_SCHEDULE_TIMEOUT"sre10" class="line" namaluL410"> 418.9a>       9                break;o<9 href9"sound/oss/seq 
a href="+codesrefm_vo=SEQ_2" class="srefm_vof">so"> 
a href="+code2" i1=SEQ_2" class="2" i1"sre10" class="line" namaluL410"> 418.9a>       9="sound/oss/sequencer.c#9390" 98luL390" class="line" namaluL390"> 390
9a>       9        case 
a href="+c9de=SE99uencer.c#L471synt_devs
/a>[
a hr=dedingutimer=SEQ_2" class="=dedingutimerencer!= -162" class="line" namaluL462"> 462
9a>       9                
a href=9+code99oss/sequencer75" class="line" namaluL475"> 475
9a>       9                break;o<9 href99CONTROLLER" class="sr 
a href="+codetmr_note" class="sreftmr_nof">so"> 
a href="+code=dedingutimer=SEQ_2" class="=dedingutimerence10" class="line" namaluL410"> 418.9a>o[
a hr=dedingutimer=SEQ_2" class="=dedingutimerencer= -110" class="line" namaluL410"> 418.9a>       9        case 
a href="+c9de=SE9_AFTERTOUCH" c48" class="line" namaluL348"> 348
9a>       9                
a href=9+code99ynth_devs" clsynt_devs
/a>[
a hrtmr_note" class="sreftmr_nof">so"= -16turnmal_         */
/spatio 353
9a>       9                break;o<9 href9"sound/oss/seq75" class="line" namaluL475"> 475
9a>       9="sound/oss/sequencer.c#9398" 99     &
a href="+c>ref="sound/oss/sequencer.c#L421" idluL4,  
a href="+codebest=SEQ_2" class="bestence10" class="line" namaluL410"> 418.9a>       9        case 
a href="+c9de=SE99luL479" class="line" namaluL479"> 479
9a>       9                
a href=9+code9synth_devs" class="sre 
a href="+codebest=SEQ_2" class="bestencer= -110" class="line" namaluL410"> 418.10a>       10a>              
a href=10a> >10a>nth_devs" class="sre; 
a href="+code=i" class="sref">i
/a> < 
a href="+code=synth_devs" class="sref">synth 
a href="+codenum_aine"utimer=dev" class="srenum_aine"utimer=ence1ref="sound/oss/sequencer.c#L424" idluL424"/pre> >" class="line" namaluL410"> 418.10a1       10a               
a href=10a  >10aoss/sequencer.c#L412"""""""""synt_devs
/a>[
a hrsine"utimer&ode=dev" class="srefine"utimer&ode=])okey
/a>)osref"sref">rec
/a>)okey
/a>)f">volume_method
/a>priorittss="sref">q
/a>prioritt"sref">mae 
a href="+codebest=SEQ_2" class="bestence62" class="line" namaluL462"> 462
10a2       10a               break;o<10a  >10a"+code=EINVAL" class=ef">cmd
75" class="line" namaluL475"> 475
10a3       10a"sound/oss/sequencer.c#10a"s>10a            returnmaluL477"> eeeeeeee 
a href="+codetmr_note" class="sreftmr_nof">so"> 
a href="+codeuencer.c#L421" idluL4o5" class="line" namaluL475"> 475
10a4       10a       case 
a href="+c10a  >10asound/oss/sequencer.cass="sref">synthkey
/a>)f">volume_method
/a>priorittss="sref">q
/a>prioritt"sreo5" class="line" namaluL475"> 475
10a5       10a               
a href=10a  >10ass/sequencer.c#L456"         48" class="line" namaluL348"> 348
10a6       10a               break;o<10a  >10ade=note" class="sref"synt_devs
/a>[
a hrtmr_note" class="sreftmr_nof">so"= -16turnmal_         */
/spatio 353
10a7       10a"sound/oss/sequencer.c#10a"s>10ade=synth_devs" class="sref">s_devs
/a>[
a hrtmr_note" class="sreftmr_nof">so">
a3" class="line" namaluL353"> 353
10a8       10a       case 
a href="+c10a  >10asound/oss/seq48" class="line" namaluL348"> 348
10a9       10a               
a href=10a  >10ass/sequencer. 
a href="+codetmrte" class="sreftmrencer= rec
/a>)os)o5" class="line" namaluL475"> 475
101>       10="sound/oss/sequencer.c#10="s>10="uL479" class="line" namaluL479"> 479
10=1       10        default:o10=oss/sequencer>ynt_devs
/a>[
a hrleveldev" class="srelevelf">sMI= 257" class="line" namaluL457"> 457
10=2       10                return -10   >10="+code=EINVAL75" class="line" namaluL475"> 475
1013       10}o 462
10=4       10return 0;o 475
1015       10f="sound/oss/sequencer.c10f=">10=a href="sound/oss/seqeeeeeeee<         */
/spatiore&("luL475"> : No timer ; 
alevel 2\n");* idluL353" class="line" namaluL353"> 353
10=6       10="sound/oss/sequencer.c#10="s>10=de=note" class="sref">note
/addevs
/a>[
a hrs="473"> dbustss="sref">q
/a>ce_473"> dbustluL4MID
a3" class="line" namaluL353"> 353
10=7       10nt"
a href="+code=find_v10nt">10=de=synth_devs" class="sref">sidluL4f-_devs
/a>[
a hrENXIOund/oss/sequencENXIOluL4o5" class="line" namaluL475"> 475
10=8       10f="sound/oss/sequencer.c10f=">10=md" class="sref">cmd
48" class="line" namaluL348"> 348
1019       10unsigned short"
a href="10uns>10=ynth_devs" class="sre_devs
/a>[
a hrsrtup_m_vo2=SEQ_2" class="srtup_m_vo2,"
a 239" class="line" namaluL439"> 439
102>       10int"
a href="+code=i" cl10int>10inound/oss/seq48" class="line" namaluL348"> 348
1021       10="sound/oss/sequencer.c#10="s>10ioss/sequencer>ynth_devs
/a>[
a hr| 
a href="+code=synth_devs" class="sref">sosref"sref">h_devs
/a>[
a hr| 
amidi="+code=synth_devs" clmidi="+luL462" class="line" namaluL462"> 462
1022       10
a href="+code=key" clas10
a >10i"+code=EINVAL75" class="line" namaluL475"> 475
1023       10for (
a href="+code=i" c10for>10i            returnmal_devs
/a>[
a hrere473"> dbustss="sref">q
/a>ce_473"> dbustluL4=
a3" class="line" namaluL353"> 353
1024       10        if (
a href="+co10   >10isound/oss/sequencer.cidluL4f-_devs
/a>[
a hrENXIOund/oss/sequencENXIOluL4o5" class="line" namaluL475"> 475
10i5       10                return 
10   >10iynth_devs" cl48" class="line" namaluL348"> 348
10i6       10return -1;o 417
10i7       10f="sound/oss/sequencer.c10f=">10iynth_devs" cl="sound/oss/seqf">deve=de_mas<< 
a href=">deve=de_mas&luL4MID
a3" class="line" namaluL353"> 353
1028       10="sound/oss/sequencer.c#10="s>10iluL479" class="line" namaluL479"> 479
10i9       10nt"
a href="+code=alloc_10nt">10iynth_devs" cl; 
a href="+code=i" class="sref">i
/a> < 
a href="+code=synth_devs" class="sref">synth 
a href="+code| 
amidi="+code=synth_devs" clmidi="+luL4href="sound/oss/sequencer.c#L424" idluL424" class="line" namaluL424"> 424
103>       10f="sound/oss/sequencer.c10f=">10f=+code=EINVAL75" class="line" namaluL475"> 475
1031       10unsigned short""
a href=10uns>10fass="comment">/* Inteef">seq_chn_voimidide=dee_NOTEOFF" class=midide=dee_])okey
/a>)oID
a3" class="line" namaluL353"> 353
1032       10int"
a href="+code=voice10int>10fCONTROLLER" class="sr 
a href="+codemididwrittde=SEQ_2" class="mididwrittde])okey
/a>)oID
a3" class="line" namaluL353"> 353
1033       10="sound/oss/sequencer.c#10="s>10f3nth_devs" cl48" class="line" namaluL348"> 348
1034       10
a href="+code=key" clas10
a >10f_devs8" class="line" namaluL348"> 348
10f5       10="sound/oss/sequencer.c#10="s>10fa href="sound; 
a href="+code=i" class="sref">i
/a> < 
a href="+code=synth_devs" class="sref">synth_devs
/a>[
a hr| 
a href="+code=synth_devs" class="sref">shref="sound/oss/sequencer.c#L424" idluL424" class="line" namaluL424"> 424
1036       10
a href="+code=voice" cl10
a >10fsound/oss/seq75" class="line" namaluL475"> 475
10f7       10                        10   >10f     &
a href="+c>yntt; 127 &&amf/a> &ode=dev" class="sref">dev
/a>])okey
/a>)==o 462
1038       10
a href="+code=synth_dev10
a >10fsound/oss/sequencer.c#L389" if">dinuea3" class="line" namaluL353"> 353
1039       10
a href="+code=synth_dev10
a >10fluL390" class="line" namaluL390"> 390
104>       10                
a href=10   >10      &
a href="+c>ynth_devs
/a>[
a hrtry_|_vulo_get=SEQ_2" class="try_|_vulo_get,"
a t; 127 &&amf/a> &ode=dev" class="sref">dev
/a>])okey
/a>)f">volume_method
/a>owner=SEQ_2" class="ownerluL4662" class="line" namaluL462"> 462
1041       10return 
a href="+code=vo10ret>10 oss/sequencer.c#L412"""""""""f">dinuea3" class="line" namaluL353"> 353
1042       10f="sound/oss/sequencer.c10f=">10 luL473" class="line" namaluL473"> 473
10 3       10="sound/oss/sequencer.c#10="s>10             returnmalsyntt_devs
/a>[
a hrtmss="sref">i
/a>]tmsluL4r= rec
/a>)o &ode=dev" class="sref">dev
/a>])okey
/a>)f">volume_method
/a>o=de=SEQ_2" class="e=de,"
a ="sound/oss/sequencer.c#L421" idluL4,  
a href="+codem_vo=SEQ_2" class="m_vof">s))>synth074" class="line" namaluL474"> 474
10 4       10oid 
a href="+code=seq_c10oid>10 sound/oss/sequencer.c75" class="line" namaluL475"> 475
1045       10f="sound/oss/sequencer.c10f=">10 a href="sound/oss/seqeeeeeeee : Warning! Cannot e=de f">de ss=ice #%od (%od)\n"idluL35,  
a href="+codeuencer.c#L421" idluL4,  
a href="+codetmss="sref">i
/a>]tmsluL4239" class="line" namaluL439"> 439
1046       10
a href="+code=dev" clas10
a >10 de=note" class="sref">note
/a>yntt; 127 &&amf/a> &ode=dev" class="sref">dev
/a>])okey
/a>)f">volume_method
/a>mididode=SEQ_2" class="midid="+luL462" class="line" namaluL462"> 462
1047       10
a href="+code=cmd" clas10
a >10 de=synth_devs" class="sref">seeeeeeee &ode=dev" class="sref">dev
/a>])okey
/a>)f">volume_method
/a>mididode=SEQ_2" class="midid="+luL4639" class="line" namaluL439"> 439
1048       10
a href="+code=chn" clas10
a >10 md" class="sref">cmd
48" class="line" namaluL348"> 348
1049       10
a href="+code=note" cla10
a >10 ynth_devs" class="sreelse8" class="line" namaluL348"> 348
105>       10
a href="+code=parm" cla10
a >10
aound/oss/sequencer.c75" class="line" namaluL475"> 475
1051       10="sound/oss/sequencer.c#10="s>10
ass="comment">/* Internal syn_devs
/a>[
a hrs">deve=de_mas<< 
a href=">deve=de_mas&luL4M|IDdev
/a>)))o<key
/a>639" class="line" namaluL439"> 439
1052       10int"
a href="+code=voice10int>10
"+code=EINVAL" class=ef">cmd
>yntt; 127 &&amf/a> &ode=dev" class="sref">dev
/a>])okey
/a>)f">volume_method
/a>mididode=SEQ_2" class="midid="+luL462" class="line" namaluL462"> 462
1053       10="sound/oss/sequencer.c#10="s>10
            returnmaluL477"> eeeeeeee 
a href="+codemidide=dee_NOTEOFF" class=midide=dee_])odev
/a>])okey
/a>)f">volume_method
/a>mididode=SEQ_2" class="midid="+luL4]MID139" class="line" namaluL439"> 439
10
4       10if ((int) 
a href="+code10if >10
sound/oss/sequencer.c48" class="line" namaluL348"> 348
1055       10        return;o10
ynth_devs" cl48" class="line" namaluL348"> 348
1056       10if (!(
a href="+code=syn10if >10
luL417" class="line" namaluL417"> 417
1057       10        return;o10
ynth_devs" cl="sound/oss/seqfequtimess="sref">q
/a>ce_utimeluL4r= rec
/a>)o 475
1058       10if (!
a href="+code=synt10if >10
luL479" class="line" namaluL479"> 479
1059       10        return;o10
ss/sequencer. 
a href="+codeprev_input_timess="sref">q
/a>prev_input_timeluL4MID
a3" class="line" namaluL353"> 353
106>       10="sound/oss/sequencer.c#10="s>10="s/sequencer. 
a href="+codeprev_nsign+timess="sref">q
/a>prev_nsign+timeluL4MID
a3" class="line" namaluL353"> 353
1061       10if (
a href="+code=seq_m10if >10=ey" c9" class="line" namaluL439"> 439
10=2       10{oynt_devs
/a>[
a hrsrefm_vo=SEQ_2" class="srefm_vof">so""> 
a href="+code2" i1=SEQ_2" class="2" i1"sreosref"sref">tt; 127 &&amm_vo=SEQ_2" class="m_vof">sMI>)osMI>)o 462
1063       10        if (
a href="+co10   >10=            r75" class="line" namaluL475"> 475
1064       10                
a href=10   >10=sound/oss/sequencer.c<         */
/spatio 353
1065       10="sound/oss/sequencer.c#10="s>10=ynth_<         */
/spatio eeeeeeee* Ininialize midi input ss=icesidluL353" class="line" namaluL353"> 353
1066       10        if (
a href="+co10   >10=6nth_<         */
/spatio eeeeeeee* idluL353" class="line" namaluL353"> 353
1067       10        {o 398
10=8       10                
a href=10   >10=md" class="sref">cmd
; 
a href="+code=i" class="sref">i
/a> < 
a href="+code=synth_devs" class="sref">synth 
a href="+code| 
amidi="+code=synth_devs" clmidi="+luL4href="sound/oss/sequencer.c#L424" idluL424" class="line" namaluL424"> 424
1069       10                
a href=10   >10=de=voice" class="srefffffffff>ynth_devs
/a>[
a hr|idide=dee_NOTEOFF" class=midide=dee_])okey
/a>)osref"sref">rec
/a>)os[key
/a>)24" class="line" namaluL424"> 424
107>       10        }o 475
1071       10}o/* Internal synffffffff>ynth_devs
/a>[
a hrtry_|_vulo_get=SEQ_2" class="try_|_vulo_get,"
a t; 127 &&ammididode=dev" class="sremididode=f">s[key
/a>)f">volume_method
/a>owner=SEQ_2" class="ownerluL4662" class="line" namaluL462"> 462
1072       10="sound/oss/sequencer.c#10="s>10 "+code=EINVAL" class=ef">cmd
















f">dinuea3" class="line" namaluL353"> 353
1073       10switch (
a href="+code=c10swi>10             r3" class="line" namaluL353"> 353
1074       10{osynthsyntt_devs
/a>[
a hrretvaldev" class="sreretval"sreo"> 
a href="+codemididode=dev" class="sremididode=f">s[key
/a>)f">volume_method
/a>o=de=SEQ_2" class="e=de,"
a ="sound/oss/sequencer.c#L421" idluL4,  
a href="+codem_vo=SEQ_2" class="m_vof">s,3" class="line" namaluL353"> 353
10 5       10        case 
a href="+c10   >10 a href="sound/oss/seqeeeeeeeeeeeeeeeeeeeeeeee_devs
/a>[
a hrsre473"> dmididinput=SEQ_2" class="sre473"> dmididinputluL4,  
a href="+codesre473"> dmididoutput=SEQ_2" class="sre473"> dmididoutputf">s))>s>ma">074" class="line" namaluL474"> 474
1076       10                if (
a h10   >10 de=note" class="sref">note
/aaaaaaaaa75" class="line" namaluL475"> 475
1077       10                        10   >10 de=synth_devs" class="sref">seeeeeeeeeeeeeeee_devs
/a>[
a hrmidide=dee_NOTEOFF" class=midide=dee_])okey
/a>)oID139" class="line" namaluL439"> 439
1078       10="sound/oss/sequencer.c#10="s>10 sound/oss/sequencer.c#L389" iiiiiiiii48" class="line" namaluL348"> 348
1079       10                if (
a h10   >10 de=voice" class="srefffffffff48" class="line" namaluL348"> 348
108>       10                {o10  nth_devs" cl48" class="line" namaluL348"> 348
1081       10                        10   >10 ey" c9" class="line" namaluL439"> 439
1082       10                        10   >10 CONTROLLER" c>ynt_devs
/a>[
a hrsrefm_vo=SEQ_2" class="srefm_vof">so""> 
a href="+code2" i2=SEQ_2" class="2" i2    )a75" class="line" namaluL475"> 475
1083       101111111111111           10111>10             returnmalsynt_devs
/a>[
a hrtry_|_vulo_get=SEQ_2" class="try_|_vulo_get,"
a t; 127 &&amtmrte" class="sreftmrencef">volume_method
/a>owner=SEQ_2" class="ownerluL4662" class="line" namaluL462"> 462
1084       10lass="sref">parm
/a> == 10las>10 AFTERTOUCH" class="srrrrrrrrr_devs
/a>[
a hrtmrte" class="sreftmrencef">volume_method
/a>o=de=SEQ_2" class="e=de,"
a ="sound/oss/seqtmr_note" class="sreftmr_nof">s,  
a href="+codesrefm_vo=SEQ_2" class="srefm_vof">s639" class="line" namaluL439"> 439
1085       10                        10   >10 ynth_devs" cl48" class="line" namaluL348"> 348
1086       10                }o10 luL417" class="line" namaluL417"> 417
1087       10                
a href=10   >10 ynth_devs" cl="sound/oss/seqinin_waitL41ue_hea_NOTEOFF" class=inin_waitL41ue_hea_,"
a synth_devs
/a>[
a hrsrefsleeper=SEQ_2" class="srefsleeperoundao5" class="line" namaluL475"> 475
10 8       10                break;o<10   >10 sound/oss/seq 
a href="+codeinin_waitL41ue_hea_NOTEOFF" class=inin_waitL41ue_hea_,"
a synth_devs
/a>[
a hrmididsleeper=SEQ_2" class="mididsleeperoundao5" class="line" namaluL475"> 475
10 9       10="sound/oss/sequencer.c#10="s>10 ss/sequencer. 
a href="+codeoutput_t hrshol_NOTEOFF" class=output_t hrshol_luL4o"> 
a href="+code2" iMAX_QUEUEund/oss/sequenc2" iMAX_QUEUEluL4o/ 2o5" class="line" namaluL475"> 475
109>       10        case 
a href="+c10   >10  uL417" class="line" namaluL417"> 417
1091       10                
a href=10   >10 ass="comment"idluL4f
a3" class="line" namaluL353"> 353
1092       10                break;o<10   >10 2    48" class="line" namaluL348"> 348
1093       10="sound/oss/sequencer.c#10="s>10 3uL417" class="line" namaluL417"> 417
1094       10        case 
a href="+c10   >10 AFTERt" class="sref">seq_chn_voiceq_draindmididL41ue=dev" class="srefeq_draindmididL41ue=,"
a s="s45" class="line" namaluL445"> 445
10 5       10                
a href=10   >10 ynth_75" class="line" namaluL475"> 475
1096       10                break;o<10   >10 de=note" clas>ref="sound/oss/sequencer.c#L421" idluL4,  
a href="+codee=SEQ_2" class="o    10" class="line" namaluL410"> 418.10 7       10="sound/oss/sequencer.c#10="s>10 luL398" class="line" namaluL398"> 398
1098       10        case 
a href="+c10   >10 sound/oss/seq          */
/spatio 353
1099       10                
a href=10   >10 9nth_<         */
/spatio * Give the Midi drivers time to drain their output L41ue=,"luL353" class="line" namaluL353"> 353
11a>       11a>              
a href=11a> >110PGMCH          */
/spatio * idluL353" class="line" namaluL353"> 353
11a1       11a               
a href=11a  >110ey" c9" class="line" namaluL439"> 439
11a2       11a               break;o<11a  >110"+code=EINVAL_devs
/a>[
a hre=SEQ_2" class="o    oID139" class="line" namaluL439"> 439
11a3       11a"sound/oss/sequencer.c#11a"s>1103uL417" class="line" namaluL417"> 417
11a4       11a       case 
a href="+c11a  >11asound/oss/seqwhilenth_devs
/a>[
a hrsignal_=dedingdev" class="srefignal_=deding,"
a ="sound/oss/seqcurrtiorec
/a>)o 445
11a5       11a               
a href=11a  >11ass/sequencer.75" class="line" namaluL475"> 475
11a6       11a               break;o<11a  >11ade=note" class="sref"_devs
/a>[
a hre=SEQ_2" class="o    oID
a3" class="line" namaluL353"> 353
11a7       11a"sound/oss/sequencer.c#11a"s>110luL398" class="line" namaluL398"> 398
11a8       11a       case 
a href="+c11a  >110md" class="sref">cmd
; 
a href="+code=i" class="sref">i
/a> < 
a href="+code=synth_devs" class="sref">synth 
a href="+code| 
amidi="+code=synth_devs" clmidi="+luL4href="sound/oss/sequencer.c#L424" idluL424" class="line" namaluL424"> 424
11a9       11a               
a href=11a  >110de=voice" class="srefffffffff>ynt_devs
/a>[
a hr|idide=dee_NOTEOFF" class=midide=dee_])okey
/a>)osref"sref">rec
/a>)okey
/a>)24" class="line" namaluL424"> 424
111>       11="sound/oss/sequencer.c#11="s>111 e=voice" class="srefffffffffffffffff>ynt_devs
/a>[
a hr|ididode=dev" class="sremididode=f">s[key
/a>)f">volume_method
/a>buffer_t" cu=dev" class="srebuffer_t" cu=e=voi!>)o 462
1111       11        default:o111ass="comment">/* Internal synffffffffffffffff>ynt_devs
/a>[
a hr|ididode=dev" class="sremididode=f">s[key
/a>)f">volume_method
/a>buffer_t" cu=dev" class="srebuffer_t" cu=e=vo href="+code=i" class="sref">i
/a> &l662" class="line" namaluL462"> 462
11=2       11                return -11   >111"+code=EINVAL" class=ef">cmd
























_devs
/a>[
a hre=SEQ_2" class="o    ++a3" class="line" namaluL353"> 353
1113       11}o 417
11=4       11return 0;o 353
1115       11f="sound/oss/sequencer.c11f=">111ynth_<         */
/spatio eeeeeeee* Let's have a delayidluL353" class="line" namaluL353"> 353
1116       11="sound/oss/sequencer.c#11="s>1116nth_<         */
/spatio eeeeeeee* idluL353" class="line" namaluL353"> 353
11=7       11nt"
a href="+code=find_v11nt">111luL398" class="line" namaluL398"> 398
11=8       11f="sound/oss/sequencer.c11f=">11=md" class="sref">cmd
>ynt_devs
/a>[
a hre=SEQ_2" class="o    45" class="line" namaluL445"> 445
1119       11unsigned short"
a href="11uns>11=ynth_devs" class="sre







_devs
/a>[
a hr>reerruptibledsleep_on+timeout=SEQ_2" class=">reerruptibledsleep_on+timeout,"
a synth_devs
/a>[
a hrsrefsleeper=SEQ_2" class="srefsleeperound,3" class="line" namaluL353"> 353
112>       11int"
a href="+code=i" cl11int>112 e=voice" class="srefffffffffffffffffevs" class="sre







_devs
/a>[
a hrHZ=SEQ_2" class="HZe=vo/10ao5" class="line" namaluL475"> 475
1121       11="sound/oss/sequencer.c#11="s>112oss/sequencer48" class="line" namaluL348"> 348
1122       11
a href="+code=key" clas11
a >1122    48" class="line" namaluL348"> 348
1123       11for (
a href="+code=i" c11for>1123uL417" class="line" namaluL417"> 417
1124       11        if (
a href="+co11   >11isounds="sref">seq_chn_voiceq473"> dreleaso=SEQ_2" class="sre473"> dreleaso,"
a >ref="sound/oss/seq=max_synthdev" class="sre, strucef="sound/oss/seqfilo=SEQ_2" class="filof">so_rec
/a>)os24" class="line" namaluL424"> 424
11i5       11                return 
11   >112ynth_75" class="line" namaluL475"> 475
11i6       11return -1;oref="sound/oss/sequencer.c#L421" idluL4o5" class="line" namaluL475"> 475
1127       11f="sound/oss/sequencer.c11f=">11iynth_devs" cl>ref="sound/oss/seq|_vo=SEQ_2" class="m_vof">sMID href="sound/ostranslate_|_vo=SEQ_2" class="translate_|_vo,"
a ="sound/oss/seqfilo=SEQ_2" class="filof">s239" class="line" namaluL439"> 439
11i8       11="sound/oss/sequencer.c#11="s>11iluL479" class="line" namaluL479"> 479
11i9       11nt"
a href="+code=alloc_11nt">112ss/sequencer. 
a href="+code=max_synthdev" class="sreMIDI_NOTEOFF
/a>;o=max_synthdev" class="sref">ma">vor439" class="line" namaluL439"> 439
113>       11f="sound/oss/sequencer.c11f=">113 uL417" class="line" namaluL417"> 417
1131       11unsigned short""
a href=11uns>113oss/sequencer="sound/oss/seqDEB=SEQ_2" class="DEB,"
a ="sound/oss/seqpr>re<< 
a hrefpr>re&,"
a =         */
string=>"sre473"> dreleaso(ss==%od)\n"idluL35,  
a href="+code=max_synthdev" class="sre)239" class="line" namaluL439"> 439
1132       11int"
a href="+code=voice11int>113luL473" class="line" namaluL473"> 473
1133       11="sound/oss/sequencer.c#11="s>11f3nth_devs" cl          */
/spatio 353
1134       11
a href="+code=key" clas11
a >11f_devs<         */
/spatio * Wait until the L41ue is empty (>ynwe don't have nonblock)idluL353" class="line" namaluL353"> 353
1135       11="sound/oss/sequencer.c#11="s>113ynth_<         */
/spatio * idluL353" class="line" namaluL353"> 353
1136       11
a href="+code=voice" cl11
a >113luL417" class="line" namaluL417"> 417
11f7       11                        11   >11f     &
a >yntt; 127 &&amm_vo=SEQ_2" class="m_vof">sM!>)oh ="sound/oss/seqfilo=SEQ_2" class="filof">sf">volume_method
/a>f_flag=dev" class="sref_flag=luL4 sref")o 462
1138       11
a href="+code=synth_dev11
a >11fsound/oss/seq75" class="line" namaluL475"> 475
1139       11
a href="+code=synth_dev11
a >113ynth_devs" class="srewhilenth_devs
/a>[
a hrsignal_=dedingdev" class="srefignal_=deding,"
a ="sound/oss/seqcurrtiorec
/a>)oma>074" class="line" namaluL474"> 474
114>       11                
a href=11   >11      &
a href="+c75" class="line" namaluL475"> 475
1141       11return 
a href="+code=vo11ret>11 oss/sequencer.c#L412"""""""""_devs
/a>[
a hrsrefsync=SEQ_2" class="srefsync,"
a 239" class="line" namaluL439"> 439
1142       11f="sound/oss/sequencer.c11f=">114"+code=EINVAL" class=ef">cmd
_devs
/a>[
a hr>reerruptibledsleep_on+timeout=SEQ_2" class=">reerruptibledsleep_on+timeout,"
a synth_devs
/a>[
a hrsrefsleeper=SEQ_2" class="srefsleeperound,3" class="line" namaluL353"> 353
11 3       11="sound/oss/sequencer.c#11="s>11             returnmallllllllllllllllllllllllllllllllllllllll3_rec
/a>)o 439
1144       11oid 
a href="+code=seq_c11oid>11 sound/oss/sequencer.cef">cmd
_         */
/spatio 353
1145       11f="sound/oss/sequencer.c11f=">11 a href="sound/oss/seq48" class="line" namaluL348"> 348
1146       11
a href="+code=dev" clas11
a >11 de=note" clas48" class="line" namaluL348"> 348
1147       11
a href="+code=cmd" clas11
a >114luL398" class="line" namaluL398"> 398
1148       11
a href="+code=chn" clas11
a >114class="sref">synt_devs
/a>[
a hrm_vo=SEQ_2" class="m_vof">sM!>)o 474
1149       11
a href="+code=note" cla11
a >11 ynth_devs" class="sreef">seq_chn_voiceq_draindmididL41ue=dev" class="srefeq_draindmididL41ue=,"
a );ef">cmd
_         */
/spatio 353
115>       11
a href="+code=parm" cla11s="sr   >10iynth_devs" cl48" class="line" na
a hrevo=SEQ_2" class="m_vof">sMID href="sound/ostranslate_|_vo=SEQ_2" class="translate_|_vo,"
a ="sound/oss/seqfilo=SEQ_2" class="filof">s239" class="line" namaluL439"> 439
11i8  eeeeeeee* idluL353" claass=11a9       11a               
a 12dev" cla"liidi="+luL4href="sne" n|_vo,"
a ="sound/oss/seqfilo=SEQ_2" clf">ma>074" class="line" namaluL474"alsynt_devs
/a>[
a hrtmrd/oss/sequencer.cef">cmd"sromment">/* Intekey
/a>1f">vo1503uL417" class="line" namalu" clresass="line" namalu" clresaseerruptibledsleep_on+timeout=SEQ_2" class=_])odev
/a>]474
1149       11
a href="+code=note" cla11
a >11 ynth_devs" class="sreef">seq_chn_voiceq_draindmididL41ue=dev" class="srefeq_draindmididLref=10   >10
ynth_devs" cl48" class=1line"1namaluL348"> 348
1056 " namaluL353"> 353
115>       11
a href="+code=parm" cla11s="sr   >10iynth_devs" cl48" class="line" na
a hrevo=SEQ_2" class="m_vof">sMID href="sound/ostralas11
a >1" class="line" namaluL4171> 41715/sequencer.c#11="s>1116nth_<         */
/spa239" class="line" namaluL439"> 439Flush eeeealla>[
353off messag53" class="line" namaluL353"> 353
11a1      _devs" cl=1sound/oss/seqfequtimess="1ref">15luL398" class="line" namaluL398"> 398
11=8  amaluL474"alsynt_devs
/a>[
a hrtmrd/oss/sequencer.cef">cmd"sromment">/* Inte<="sref">sy"srejiffie=luL4o5" class=1line"15s="m_vof">sM!>)o  class="sref">shref="sound/oss/sequencer.c#L424" idluL424" class="line" namaluL424"> 424
1036       10
a href="+code=voice" cl10
a >10fsound/oss/seq75" class="line" namaluL475"> 475
10f7       10                        10 1ss="line" 1amaluL353"> 353
106>     1 10="1ound/oss/seque=SEQ_2" class="srefsync,"
a 239" class="line" 1amaluL353"> 353
1061     1 10if16dev
/a>])o 339
1052       10int"
a href="+code=voice10int>10
_2" clade=EINVAL" class=ef">cmd
>yntt; 127 &&amf/a>) class="line" na
a hrevo=SEQ_2" class="m_vof">sMID href="sound/ostrROLLER" c>1nt_devs
/a>[
a hrsrefm_vo1SEQ_216s/seqfilo=SEQ_2" clf">ma>074" class="line" namaluL474"alsynt_devs
/a>[
a hrtm Actually d/ classQ_2" class="m_vof">sMID href="sound/ostrRa href="s1class="2" i1"sreosref"sre1">tt;1127 &a8" class="line" namaluL398"> 398
11=8  amaluL474"alsynt_devs
/a>[
a hrtmrd/oss/sequencer.cef">cmd"sromment">/* Inte >10=sound1oss/sequencer.c<         1/
/sp1639
1144       11oid 
a href="class="midid="+luL462" class="line" namaluL462"> 462
1053       10="sound/oss/sequencer.c#10="s>      10                        10 15       101"sound/oss/sequencer.c#101"s>101ynth_<         */
/spaaaaaaaaa=SEQ_2" class="srefsync,"
a 239" claslas11
a >1amaluL353"> 353
1066     1 10  16codesre473"> dmididoutput=SEQ_2" class="midid="+luL462" class="line" namaluL462"> 462
1053       10="sound/oss/sequencer.c#10="s>namaluL462"> 462
113clo>so_rec
/a>)osVAL" class=ef">cmd























tibledsleep_on+timeout=SEQ_2" class=67       11        {osM!>)ocmd
; 
a href="+code=i"1class16ARNING href=         */
string=>"(Maps to Mhre "> 462
 de=note" class="s"> 462
 deVAL" class=ef">cmd

lass="line" namaluL462"> 462
1041       10return 
a href="+code=vo10ret>10 oss/sequencer.c#L412"""""""""f">dinuea3" class="linetibledsleep_on+timeout=SEQ_2" class=6quencer. 1sref">synth 
a href="+cod1| 
am16="sreMIDI_NOTEOFF
/a>;o=max_synthdev" clokey
1a>)os1ef"sref">rec
/a>)o 462
1053       10="sound/oss/sequencer.c#10="s>10
            returnmaluL477"> eeeeeeee 
a href="+codemidide=dee_NOTEOFF" class=midide=de1ound/oss/s1q10}o<>10 ass="comment">/1 Inte1nal synffffffff>ynth_devs
/a>[*/
string=>"(Maps to Mhre ")f">volume_method
/a>mididode=SEQ_2" class="midid="+luL4]MID139" class="line" namaluL439"> 439
10
4       10if ((int) 
a href="+code10if >10
sound/oss/sequencer.c48" class="line" namaluL348"> a       case 
a href="+c11a  >110md" y_|_vulo_g1t,"
a t; 127 &&ammidi1ode=d1v" class="sremididode=f">s[114clas073       10switch (
a href="+code=c10swi>10             a href="+code=chn" clas11
a >114clas0>10=sound1ss/sequencer.cass="sref">1ynths17" class="sre473"> dreleaso,"
a >ref="souo"> 
a hre1="+codemididode=dev" clas1="sre1ididode=f">s[ 424
11a9       11a               
a href=11a  >110de=voice" class="srefffffffff>ynt_devs
/a>[
a hr|idide=dee_NOTEOFF" class=midide=dee_])oclass="sre173"> dmididinputluL4,  
a1href=17EQ_2" class="o    oID
a3" class="line" namaluL353          1         10   >10 de=synt1_devs1 class="sref">seeeeeeeittde=SEQ_2" class="mididwrittde])okey
/a>)24" class="line" namaluL_get=SEQ_2" class="try_|_vulo_get,"
a1dide=dee_]1o)oID139" class="line" n10
sound/oss/sequencer. href="+code=i" class="sref">i
/a> &l662" class="line" namaluL462"> 462
11=2       11  clo>so_rec
/a>)osVAL" class=ef">cmd























tibledsleep_on+timeout=SEQ_2" class=          1 if (
a h10   >10 de=voic1" cla1s="srefffffffff48" class="line;(Maps to Mhre "> 462
 de=note" class="s"> 462
 deVAL" class=ef">cmd

ss="line" namaluL462"> 462
1072       10="sound/oss/sequencer.c#10="s>10 "+code=EINVAL" class=ef">cmd
















f">dinutibledsleep_on+timeout=SEQ_2" class= 10  nth_devs" cl481 clas1="line" namaluL348"> 3a href="+code=chn" clas11
a >114clas >10 ey" c1" class="line" namaluL4391> 43911082       10                        10   >10 CON1ROLLER" c>1nt_devs
/a>[
a hrsrefm_vo1SEQ_21 class="srefm_vof">so""> 
a href="+code21 i2=SEQ_2"1class="2" i2    )a75" cla1s="li1e" namaluL475"> 475
1083       101111111111111           10111>10             returnmalsynt_devs
/a>[
a hrtry_|_vulo_get=SEQ_2" class="try_|_vulo_get,"
a1t; 127 &am1;&amtmrte" class="sreftmr1ncef"1volume_method
/a>owner9"> 439
11i8    odesrefm_vo=SEQ_2" class="srefm_vof">s639" cclo>so_rec
/a>)osVAL" class=ef">cmd

                       10   >10utibledsleep_on+timeout=SEQ_2" class=>o=de=SEQ_1" class="e=de,"
a ="sound1oss/s1qtmr_note" class="sref;(Maps to Mhre "> 462
 de=note" class="s"> 462
 deVAL" class=ef">cmd

">parm
/a> == 10las>10 AFTERTOUCH" class="srrrrrrrrr_devs
/a>[
a hrtmrte" ctibledsleep_on+timeout=SEQ_2" class=>lass="sre1" class="line" namaluL4171> 41711087       10                
a href=10   >10 ynt1_devs" cl=1sound/oss/seqinin_waitL411e_hea1NOTEOFF" class=inin_waitL41ue_hea_,"
a s1nth_devs
/1>[
a hrsrefsleeper=SEQ_2"1class18ound/oss/seqfilo=SEQ_2" class="fobsolete_api_usttde])o[
a hrmididsleeper=SEQ_21 clas18="srefffffffff48" claode=max_synthdev" class="sre)239" class="line" nde=max_synthde> &ode=dev" class="sref">dev
/a>])okey
//72 /music: Obsolete (4 byte) API was ustt by voicesint>113luL473" class="line" nama>       11                
a href="srefm_vof">s639" ccomm 11             ommte" ctibledsleep_on+timeout=SEQ_2" class=>sidluL4f-_devs
/a>[
a hrENXIOund/oss/sequencENXIOluL4o5" cl1"comment"i1luL4f
a3" class="line" na1aluL313"> 35               
a href=10   >10 ynt1k;o<10   >10 2    48" class="line" n1maluL19class="srefm_vof">so""> 
a href="+code21417" class1"line" namaluL417"> 417
1194   1   10       1SEQ_2" class="filofclass=ef">cmd
_devs
/a>[
a hr>reerru  10                break;o<10   >10 de1Rt" class=1sref">seq_chn_voiceq_drai1dmidi1L41ue=et=SEQ_2" class="try_|_vulo_get,"
a1=,"
a s="s15" class="line" namaluL441"> 44194und/oss/seqfilo=SEQ_2" class="f"+c75" class="line" namaluL47" clas10
a >10i"+code=EINV[
a playqlde"sref">ma>074" 
a playqldaluL47" clas10
a >10i"+code=EINV[2" class="qlde"sref">ma>074" class="line" namaluL474"> 474
114>       11                
a href=                break;o<10   >10 de1Rlass="sre1ref="sound/oss/sequencer.1#L42119codesre473"> dmididou2" class="filofclasstartplay">cmd
_devs
/a>[
a htartplayeerruptibledsleep_on+timeout=SEQ_2" class=   10" cla1s="line" namaluL410"> 418110 7 19OTEOFF" class=inin_waitL41ue_hea_,"
a s1d/oss/seq 1        */
/spatio 475
1141       11return 
a href="+cod10        1       
a href=10   >10 91th_< 19="srefffffffff48" claode=max_synthdeeeperound,3" class="line" namaluL353"> 353
11 3       11="sound/oss/sequencer.c#11="s>11             returnmalllllllllllllllllllllllllllllllllncer48" class="line" namaluL348"> 348
1ptibledsleep_on+timeout=SEQ_2" class=  319_QUEUEluL4o/       1SEQ_2" class="f"+c75" class="line" namaluLtibledsleep_on+timeout=SEQ_2" class2 11a      2        
a href=11a  >1102y" c920"> 35               
a href=10   >10 ynt2de=EINVAL_2evs
/a>[
a hre=SEQ_2" cla2s="o 2  oID139" class="line" namaluL439"> 439
21a3       21a"sound/oss/sequencer.c#21a"s>20  10       1nd/oss/seqfilo=SEQ_2/aaaaaaaf">cmd
_devs
/a>/aaaaaaafer.c#ilof">s24" class="line" namaluL424"> 424
11i5 un clatt charf">s24" class="liata" namaluL424"> 4atacodemidide=dee_NOTEOFF" class=midide=de2d/oss/seqw2ilenth_devs
/a>[
a hrsign2l_=de2041ue=et=SEQ_2" class="try_|_vulo_get,"
a2und/oss/se2currtioclass="line" na
a hrevo=SEQ_2" class="m_vof">sMID href="sound/ost2 >11ade=no2e" class="sref"_devs
/a>[2a hre20class="line" namaluL417"> 417
11f7    NOTEmslulls lllll(). DiosMID href="sound/ost2 611ade=no2e="line" namaluL410"> 4182ncer.20luL398" class="line" namaluL398"> 39mrd/oss/sequencer.cef">cmd"sromment">/* Int2class="sre2">cmd
; 
a href="+code=i"2class2"sref">i
/a> < 
a href="+code=synth_d2vs" class=2sref">synth 
a href="+cod2| 
am2di="+code=syntilof">s24" class="l"> 398
1098       10        case 
a href="+c10   >10 sou2key
/2>)osr2f"sref">rec
/aun clatt long11                    11
a href="+codsynth_de       case 
a href="+c10   >10 sou2=f">s[k2y
/a>21B,"
a ="sound/oss/seqpr>re<< 
a h2mididode=f2>s[)f">volclass="line" na
a hrevo=SEQ_2" class="m_vof">sMID href="sound/ost2 ++a3" cla2s="line" namaluL353"> 35321113 2127 &a8" class="line" namaluL398"> 39* This raaaalu slins olu byte
/sp>110PGMCHchannel.SEQ_2" class="m_vof">sMID href="sound/ost2d/oss/sequ2ncer.c          */
/spati2 39* If eeeeeeee* iFIFO<   full, it sounsc#11="s>11reSEQ_2" class="m_vof">sMID href="sound/ost2dnd/oss/se2="sound/oss/sequencer.c112=">1121"> 353
1135       11="sound/oss/sequen   
11ce osMID href="sound/ost2d>11ade=no253"> 353
1116       11="s2und/o2s/sequencer.c#11="s>1116nth_<        mrd/oss/sequencer.cef">cmd"sromment">/* Int2=7       12nt"
a href="+code=find_v12nt">121OTEOFF" class=inin_waitL41ue_hea_,"
a s2class="sre2">cmd
>ynt_devs
/a>[
a hr2=SEQ_21srefsleeperoundao5" class="lL398"> 398
11a8       113uencer48" class="line" namaluL348"> 348
1s" cl48" ">volclass="line" na
a hrevo= Tequenc mrd/oss/sequencer.cef">cmd"sromment">/* Int2=s" class=2       11unsigned short"
2 href21="sreMIDI_NOTEOFF
/a>;o=max_synthdev" c2">reerrupt2bledsleep_on+timeout,"
a 2ynth_21_QUEUEluL4o/ 2o5" class="lin pin_uL35_irqsav111111           pin_uL35_irqsav1er.c#11="s>11            uL3511111          uL35
11i51                    11
a href="+codsynth_deptibledsleep_on+timeout=SEQ_2" class2ss="HZe=vo210ao5" class="line" namal2L475"2 475
1121     rec
/a>ndao5" class="lL398"> 398
11a8       7" clas10
a >10i"+code=EINVss="line" namaluL462"> 462
1072       10="sound/oss/sine" namaluL424"> 424
11i+code=EINVAL" class=efeee* f">cmd
_devs
/a>feee* fnamaluL474"> 474
114ine" namaluL424"> 424
11i5 ">s24" class="liata" namaluL424"> 4atacodem_get=SEQ_2" class="try_|_vulo_get,"
a2 >1122    28" class="line" namaluL342"> 3422ne" namaluL353"> 353
1032       10ineeperound,3" class="line" namaluL353"> 353
11 3       11="sound/oss/sequencer.c#11="s>11             returnmalllllllllllllllllllllllllllllllllncer48" class="line" namaluL348"> 348
1/25ptibledsleep_on+timeout=SEQ_2" class2s++a3" cla2"line" namaluL417"> 417
1224   22line" namaluL353"> 353
1033       10L398"> 398
11a8      --tibledsleep_on+timeout=SEQ_2" class2s/oss/sequ2eq_chn_voiceq473"> drelea2o=SEQ220f5       10="sound/oss/sequencer.c#10="s>10fa h2nd/oss/seq2max_synthdev" class="sre,2struc224QUEUEluL4o/ 2o5" class="lin pin_unuL35_irqrestor111111           pin_unuL35_irqrestor1er.c#11="s>11            uL3511111          uL35
11i51                    11
a href="+codsynth_deptibledsleep_on+timeout=SEQ_2" class2s>11ade=no2ref="sound/oss/sequencer.2#L4212 idluL"sound/oss/sequencer.c#10="s>10fa h2n7       121f="sound/oss/sequencer.c21f=">22OTEOFF" class=inin_waitL41ue_hea_,"
a s2_vo=SEQ_2"2class="translate_|_vo,"
a2="sou2d/oss/      10                
a hrefresass="line" namalu" clresaseerru  10                break;o<10   >10 de2equencer. 2a href="+code=max_synthde2" cla2s="sreet=SEQ_2" class="try_|_vulo_get,"
a2 >reerrupt2ma">vor439" class="line" 2amalu2439"> 439
113> lass="line" na
a hrevo=SEQ_2" class="m_vof">sMID href="sound/ost2sequencer=2sound/oss/seqDEB=SEQ_2" c2ass="23class="line" namaluL439"> 439
11a2    NOTEmslulls lllll(). DiosMID href="sound/ost2efpr>re&,"2a =         */
string=>&q2ot;sr23s/seqfilo=SEQ_2" clf">ma>074" class=mrd/oss/sequencer.cef">cmd"sromment">/* Int2_devs" cl 2        */
/spatio 353
1134      211
a href=2+code=key" clas11
a >11f_2evs< 2       */
/spal>ref="sound/oss/seq|_vo=SEQ_2" class="m_vof">sMID href="sound/ostranslate_2e nonblock2idluL353" class="line" na2aluL3234     */
/spal>ref="sound/oss/sechL398"> 398
11a8 chLs="m_vof">sMID href="sound/ostranslate_2e>11ade=no2"+code=voice" cl11
a >1132uL41723codesre473"> un clatt long11                    11
a href="+codsynth_de       case 
a href="+c10   >10 sou2 &
a >2ntt; 127 &&amm_vo=SEQ22" cl2ss="m_vof">sM!>)oh =23amaluL475"> 475
1058       10113ynth_2evs" class="srewhilenth_d2vs
/a23="sreMIDI_NOTEOFF
/a>;o=max_synthdev" c2"
a ="soun2/oss/seqcurrtio10
luL479" class="line" namaluL479"> 479
1059       10        return;o10
ss/2e=vo11ret>21 oss/sequencer.c#L412"""2"""""24
a href="+code=seq_m10if >10=ey" equencer. 
a href="+codeprev_nsign+timess="sref">q
/a>prev_nsign+timeluL4MID
a3" cl2ss="line" 2amaluL439"> 439
1142     2 11f=2473"> dreleaso(ss==%od)\n&=ey" c9" class="line" namaluL439"> 439
10=2       10{oreerrupt2bledsleep_on+timeout,"
a 2ynth_24lass="line" namaluL353"> 353
1134      2lass="HZe=2o239" class="line" namalu2439">2439
1144      SEQ_2" class="f"+c75" class="line" namaluL4L479" class="lineq75"> 475
10 9      qsequence4L479" class="lineqtaihod
/a>o=de=SEQ_qtaih     10{o 353
1145       11f="2ound/244QUEUEluL4o/ 2o5" class="lini"+c75" class="line"i namaluL4L479" class="lineiq75"> 475
10 9      iqsequence4L479" class="lineiqtaihod
/a>o=de=SEQ_iqtaih     10{o11ade=no21 de=note" clas48" class=2line"2namalu2" class="line" namaluL3982> 39821148       11
 class="sref">shref="sound/oss/sequencer.c#L424" idluL424" class="line" namaluL424"> 424
1036       10
a href="+code=voice" cl10
a >10fsound/oss/seq75" class="line" namaluL475"> 475
10f7       10                        10 2s="sref">s2nt_devs
/a>[
a hrm_vo=SEQ22" cl24ey
/a>)oID139" class=soun" namaluL353"> 339
1052       10int"
a href="+code=voice10int>10
_2" clade=EINVAL" class=ef">cmd
>yntt; 127 &&amf/a>)     10                        10 2s>113ynth_2encOPEN_READluL474" class2"line24="srefffffffff48" class="lineclass="midid="+luL462" class="line" namaluL462"> 462
1053       10="sound/oss/sequencer.c#10="s>      10                        10 241ue=,"
a 2;ef">cmd
_         */
/sp2tio 462
1053       10="sound/oss/sequencer.c#10="s>code=EINVAL" class=eresass="line" namaluresaseerruclass=ef">cmd
>yntt; 127 &&amf/a>o dreleaso> 475
1083       101111111111111           10111>10             returnmalsynt_devs
/a>[
a hrtry_|_vulo_ ="sound/oss/seqpr>re<< 
a h2">reerrupt2und/ class="sref">key
/a>2f">vo2503uL417" claset=SEQ_2" class="try_|_vulo_get,"
a2_])oowner class="sref">shref=chL398"> 398
11a8 chLs="mc#L424" idluL424" clachL398"> 398
11a8 chLs="mcVAL" 1624" idluL424" clachL398"> 398
11a8 chLs="m7       10                        10 2ref=10   >20
ynth_devs" cl48" class=2line"2namaluL348"> 348
1056      11
 class="sref">shref="sound/oss/sequencer.c#L424" idluL424" class="line" namaluL424"> 424
1036       10
a href="+code=voice" cl10
a >10fsound/oss/seq75" class="line" namaluL475"> 475
10f7       10                        10 2alas11
a >2" class="line" namaluL4172> 41725codesre473"> dmididoutput=SEQ_2" classoun" namaluL353"> 339
1052       10int"
a href="+code=voice10int>10
_2" clade=EINVAL" class=ef">cmd
>yntt; 127 &&amf/a>)     10                        10 2_devs" cl=2sound/oss/seqfequtimess="2ref">25class="sref">seeeeeeeeeeeeeeee_devs
/_2" classoun" namaluL353"> 339
10ass="line" namaluL462"> 462
1053       10="sound/oss/sequencer.c#10="s>      10                        10 2<="sref">s2"srejiffie=luL4o5" class=2line"25ey
/a>)oID139" class="line" namaluL439"> 439
et=SEQ_2" class="try_|_vulo_get,"
a2_>113ynth_2a href="+codeprev_input_t2mess=25="srefffffffff48" class="line" namaluuuuuuuuuuuuuuuuus="midid="+luL462" class="line" namaluL462"> 462
1053       10="sound/oss/sequencer.c#10="s>code=EINVAL" class=e3
10rollullllllllllllllll3
10rolluleerruclass=ef">cmd
>yntt; 127 &&amf/aclass="line" nama>hL398"> 398
11a8 chLs="m, c23, 0vs" cl48class="line" na
a hrevo= Alla>[
353off mrd/oss/sequencer.cef">cmd"sromment">/* Int2ss="line" 2amaluL353"> 353
106>     2 10="25idluL353" class="lineeeeeeeeeeeeeeeeeuuuuuuuuuuuuuuuus="midid="+luL462" class="line" namaluL462"> 462
1053       10="sound/oss/sequencer.c#10="s>code=EINVAL" class=e3
10rollullllllllllllllll3
10rolluleerruclass=ef">cmd
>yntt; 127 &&amf/aclass="line" nama>hL398"> 398
11a8 chLs="m, c21, 0vs" cl48class="line" na
a hrevo= Resaseallactl mrd/oss/sequencer.cef">cmd"sromment">/* Int2ss="line" 2amaluL353"> 353
1061     2 10if26dev
/a>])o 462
1053       10="sound/oss/sequencer.c#10="s>code=EINVAL" class=ebendullllllllllllllllbenduleerruclass=ef">cmd
>yntt; 127 &&amf/aclass="line" nama>hL398"> 398
11a8 chLs="m, ce=EINVAL" 13vs"class="line" na
a hrevo= Bendul3off mrd/oss/sequencer.cef">cmd"sromment">/* Int2ROLLER" c>2nt_devs
/a>[
a hrsrefm_vo2SEQ_226ey
/a>)f">volume_method
/a>buffer_t" cu=dev" "sound/oss/sequencer.c#10="s>10fa h2Ra href="s2class="2" i1"sreosref"sre2">tt;26             a href="+code=chn" clas11
a >114cla2 >10=sound2oss/sequencer.c<         2/
/sp2639
1144      elsecl48class="line" na
a hrevo=  10111>1    ry_|1 mrd/oss/sequencer.cef">cmd"sromment">/* Int2Ref=10   >2"sound/oss/sequencer.c#102"s>102ynth_<        et=SEQ_2" class="try_|_vulo_get,"
a2slas11
a >2amaluL353"> 353
1066     2 10  26codesre473"> dmididouclmidi="+luL4href="sound/oss/sequencer.c#L424" idluL424" class="line" namaluL424"> 424
11a9       11a               
a href=11a  >110de=voice" class="srefffffffff>ynt_devs
/a>[
a hr|idide=dee_NOTEOFF" class=midide=dee_])267       12        {oseeeeeeeeeeeeeeeittde=SEQ_2" class="midiss/sequencer.c#11="s>111 e=voice" class="srefffffffffffffffff>ynt_devs
/a>[
acl48class="line" na
a hrevo=d/oss/sequencer.cef">cmd"sromment">/* Int2R="sref">s2">cmd
; 
a href="+code=i"2class26ARNINfilo=SEQ_2" clf">ma>074" class="line" namaluL474"alsynt_devs
/a>[
a hrtm PGMCHustt. Somea>[
353may stillabe playqldaloss/sequencer.cef">cmd"sromment">/* Int2R>113ynth_2sref">synth 
a href="+cod2| 
am26="sre8" class="line" namaluL398"> 398
11=8  amaluL474"alsynt_devs
/a>[
a hrtmrd/oss/sequencer.cef">cmd"sromment">/* Int2okey
2a>)os2ef"sref">rec
/a>)o10 ass="comment">/2 Inte2nal synffffffff>ynth_devs
/a>[*/
strinclass="line" na
a hrevo=d/oss/sequencer.cef">cmd"sromment">/* Int2y_|_vulo_g2t,"
a t; 127 &&ammidi2ode=d27s/seqfilo=SEQ_2" clf">ma>074" class="line" namaluL474"alsynt*alsyntSline"  jussea ACTIVE ryNSING messag5 shouldabe enough
/spstopealld/oss/sequencer.cef">cmd"sromment">/* Int2ya href="s20switch (
a href="+code=c20swi>2727 &a8" class="line" namaluL398"> 398
11=8  amaluL474"alsynt*alsyntplayqlda>[
35. Sit">s>11re3" cliceic353>[
 recognizqlda>11d/oss/sequencer.cef">cmd"sromment">/* Int2y>10=sound2ss/sequencer.cass="sref">2ynths27uL3538" class="line" namaluL398"> 398
11=8  amaluL474"alsynt*alsyntact1a> sensqld,/spa7"> */spslin someaalla>[
353off messag53aalso.SEQ_2" class="m_vof">sMID href="sound/ost2o"> 
a hre2="+codemididode=dev" clas2="sre27"> 353
1135       11="sound/oss/sequ8
11=8  amaluL474"alsynt*rd/oss/sequencer.cef">cmd"sromment">/* Int2class="sre273"> dmididinputluL4,  
a2href=27codesre473"> dmididoutput=SEQ_2" class="midid="+luL4/aaaaaaaf">cmd
_devs
/a>/aaaaaaafer.c#class=ef">cmd
>yntt; 127 &&amf/acl0xfe>osM!>)o)oID139" class="line" nnnnnnnnn class="sref">shref=chL398"> 398
11a8 chLs="mc#L424" idluL424" clachL398"> 398
11a8 chLs="mcVAL" 1624" idluL424" clachL398"> 398
11a8 chLs="m7       10                        10 2          2 if (
a h10   >10 de=voic2" cla2s="srefffffffff48" class="lineeeeeeeeeet=SEQ_2" class="try_|_vulo_get,"
a2o10  nth_devs" cl482 clas2="line" namaluL348"> 3dmididoutput=SEQ_2" class="midid="+luL4/aaaaaaaf">cmd
_devs
/a>/aaaaaaafer.c#class=ef">cmd
>yntt; 127 &&amf/acl(un clatt char) (0xb0 +ass="sref">shref=chL398"> 398
11a8 chLs="mc_2" cl0x0f)))s" cl48" ">voclass="line" na
a hrevo= 3
10rolHchang5 *rd/oss/sequencer.cef">cmd"sromment">/* Int2 >10 ey" c2" class="line" namaluL4392> 43928al synffffffff>ynth_devs
/a>[*/
string=>"(Maps to Mhre ")f">vaaf">cmd
_devs
/a>/aaaaaaafer.c#class=ef">cmd
>yntt; 127 &&amf/acl0x7b)s" cl4class="line" na
a hrevo= Alla>[
353off mrd/oss/sequencer.cef">cmd"sromment">/* Int2ROLLER" c>2nt_devs
/a>[
a hrsrefm_vo2SEQ_228ey
/a>)f">volume_method
/a>buffer_t" cu=dev" ;(Maps to Mhre ")f">vaaf">cmd
_devs
/a>/aaaaaaafer.c#class=ef">cmd
>yntt; 127 &&amf/acl0vs" cl48" class="line" na
a hrevo= Dummy parreftul3mrd/oss/sequencer.cef">cmd"sromment">/* Int2Ra href="s2class="2" i2    )a75" cla2s="li28vs
/a>[
a hrsrefsleeper=SEQ_222222222a href="+code=chn" clas11
a >114cla2t; 127 &am2;&amtmrte" class="sreftmr2ncef"28" class="sre473"> dreleaso,"
a >ref="so2>o=de=SEQ_2" class="e=de,"
a ="sound2oss/s2qtmr_note" class="srefffer_t" cu=dev" ;(Maps to Mhre ")f">er. href="+code=i" class="sref">i
/a> &l662" class="line" namaluL462"> 462
11=2       11  clo>so_rec
/a>)osVAL" class=ef">cmd























tibledsleep_on+timeout=SEQ_2" class2>lass="sre2" class="line" namaluL4172> 41728amaluseeeeeeeeeeeeeeee_devs
/e=SEQ_2" class="midiss/sequencer.c#11="s>111 e=voice" class="srefffffffffffffffff>ynt_devs
/a>[
 10{o"(Maps to Mhre "mididwrittde])okey
/a>)24" class="line" namaluL410{o114cla2t114cla2"comment"i2luL4f
a3" class="line" na2aluL329B,"
a ="sound/oss/seqpr>re<< 
a h2k;o<10   >20 2    48" class="line" n2maluL2973"> dreleaso(ss==%od)\n&[
a playqlde"sref">ma>074" 
a playqldaluL410{o 417
1294   29lass="line" namaluL353"> 353
1134      2Rt" class=2sref">seq_chn_voiceq_drai2dmidi2939
1144      SEQ_2" class="f pin_uL35_irqsav111111           pin_uL35_irqsav1er.c#11="s>11            uL3511111          uL35
11i51                    11
a href="+codsynth_deptibledsleep_on+timeout=SEQ_2" class2=,"
a s="s25" class="line" namaluL442"> 44294und/ibledsleep_on+timeout=SEQ_2" class2=lass="sre2ref="sound/oss/sequencer.2#L42129codesre473"> ittde=SEQ_2" class=soundluL3_act1a> 11
a href="+cosoundluL3_act1a>er.c#11="s>11             returnmallllllllllllllllllllllllllllllllm_get=SEQ_2" class="try_|_vulo_get,"
a2   10" cla2s="line" namaluL410"> 418210 7 29class="sref">seeeeeeeclass="line" na
a hrevo=      ass="l( t>113lS_vulo_ge Warnqld: Unexpecttt lllllqldaprocess - Wakqldaupint>113lvs"mrd/oss/sequencer.cef">cmd"sromment">/* Int2d/oss/seq 2        */
/spatio11             returnmallllllllllllllllllllllllllllllllmtibledsleep_on+timeout=SEQ_2" class2=         2       
a href=10   >10 92th_< 29="sreffffffffa href="+code=chn" clas11
a >114cla2" 329_QUEUEluL4o/ SEQ_2" class="f pin_unuL35_irqrestor111111           pin_unuL35_irqrestor1er.c#11="s>11            uL3511111          uL35
11i51                    11
a href="+codsynth_deptibledsleep_on+timeout=SEQ_2" class3 11a      3        
a href=11a  >1103y" c930"> 35               
a href=10   >10 ynt3de=EINVAL_3evs
/a>[
a hre=SEQ_2" cla3s="o 3  oID139" class="line" namaluL439"> 439
31a3       31a"sound/oss/sequencer.c#31a"s>30  10       1nd/oss/seqfilo=SEQ_2 
a panif">cmd
_devs
/a>[
a panifer.c#  10                break;o<10   >10 de3d/oss/seqw3ilenth_devs
/a>[
a hrsign3l_=de3041ue=et=SEQ_2" class="try_|_vulo_get,"
a3und/oss/se3currtioclass="line" na
a hrevo=SEQ_2" class="m_vof">sMID href="sound/ost3 >11ade=no3e" class="sref"_devs
/a>[3a hre30class="line" namaluL417"> 417
11f7    This raaaalu is calltt by eeeeapplic   on osMID href="sound/ost3 611ade=no3e="line" namaluL410"> 4183ncer.30luL398" class="line" namaluL398"> 39m wants*/spresas eeeesystem
/sp>110default     e.SEQ_2" class="m_vof">sMID href="sound/ost3class="sre3">cmd
; 
a href="+code=i"3class30ARNINfilo=SEQ_2" clf">ma>074" class=mrd/oss/sequencer.cef">cmd"sromment">/* Int3vs" class=3sref">synth 
a href="+cod3| 
am30="sreMIDI_NOTEOFF
/a>;o=max_synthdev" c3key
/3>)osr30_QUEUEluL4o/ SEQ_2" class="f  clresass="line" namalu" clresaseerruptibledsleep_on+timeout=SEQ_2" class3=f">s[k3y
/a>31B,"
a ="sound/oss/seqpr>re<< 
a h3mididode=f3>s[)f">volclass="line" na
a hrevo=SEQ_2" class="m_vof">sMID href="sound/ost3 ++a3" cla3s="line" namaluL353"> 35331113 3127 &a8" class="line" namaluL398"> 39* Sit">ssomeaofp>110deeic353tio sensqld anassQ_2" class="m_vof">sMID href="sound/ost3d/oss/sequ3ncer.c          */
/spati3 39* alla>[
353off messag53,/spa7"> */spshut alla>[
353manually.SEQ_2" class="m_vof">sMID href="sound/ost3dnd/oss/se3="sound/oss/sequencer.c113=">1131"> 353
1135       11="sound/oss/sequeSEQ_2" class="m_vof">sMID href="sound/ost3d>11ade=no353"> 353
1116       11="s3und/o3s/sequencer.c#11="s>1116nth_<        m      TO BE IMPLEMENTED LATERSEQ_2" class="m_vof">sMID href="sound/ost3d611ade=no3nt"
a href="+code=find_v13nt">131luL398" class="line" namaluL398"> 39mrd/oss/sequencer.cef">cmd"sromment">/* Int3class="sre3">cmd
>ynt_devs
/a>[
a hr3=SEQ_31sref">i
/a> < 
a href="+code=synth_d3=s" class=3       11unsigned short"
3 href318y
/a>)f">volclass="line" na
a hrevo=SEQ_2" class="m_vof">sMID href="sound/ost3 a 353
11a1     3ss="HZe=vo310ao5" class="line" namal3L475"32class="line" namaluL439"> 439
11a2   rd/oss/sequencer.cef">cmd"sromment">/* Int3 >1122    38" class="line" namaluL343"> 3432ne" n               
a href=10   >10 ynt3s++a3" cla3"line" namaluL417"> 417
1324   32lass="line" namaluL353"> 353
1134      3s/oss/sequ3eq_chn_voiceq473"> drelea3o=SEQ320f5  SEQ_2" class="filofcla
1134 _iocthod
/a>o=de=SEQ_cla
1134 _ioctheerruilof">s24" class="line" namaluL424"> 424
11i5 strucof">s24" class="lBLOCK> &l662" class="line" ueS>s24" class="lBLOCK> &l662" class="line" 5 un clatt l>ref="sound/oss/secmtde])os24" class="arlde"sref">ma>074arlth_de="line" namaluL353"> 353
1134      3dnd/oss/se2max_synthdev" class="sre32stru3224QUE=et=SEQ_2" class="try_|_vulo_get,"
a2s>11ade=n32ref="sound/oss/sequencer32#L42329codesre473"> l>ref="sound/oss/sequencer.c48" class="line" namaluL3aclass="line" namorigncer.c48" class="liorigncerluL3aclass="line" namvathod
/a>o=de=SEQvatluL3aclass="line" namerllllllllllllllllerle" clet=SEQ_2" class="try_|_vulo_get,"
a2d611ade=no21f="sound/oss/sequencer.321f="326codesre473"> l>ref="sound/oss/se111111111         111>10    er9"> 439
11i8   ransl   11111111111          ransl   11111sVAL" class=ef">cmd
lBLOCK> &l662" class="line"uptibledsleep_on+timeout=SEQ_2" class2_vo=SEQ_232class="translate_|_vo,"
32="so329ARNING href= strucof">s24" class="462"> inf                462"> inf ARNINsref">key
/a>)24nf" class="line" nnfe" clet=SEQ_2" class="try_|_vulo_get,"
a2=s" class=2a href="+code=max_synthd32" cl328ARNING href= strucof">s24" class="4" c 439
17ress="line" namalu" c 439
17reARNINsref">key
/a>)2 439
17ress="line" namal 439
17reARNIlet=SEQ_2" class="try_|_vulo_get,"
a2 avor439" class="line"32amal32439"> 439
113 un clatt long11                    11
a href="+codsynth_de       case 
a href="+c10   >10 so32sequencer32sound/oss/seqDEB=SEQ_2" 32ass=330codesre473"> l>ref="sound/oss/s="soullllllllllllllll="souline" ueS>s24" class="up 11
a href="+cp10    er9"> 439
11i8  arlde"sref">ma>074arlth_de       case 
a href="+c10   >10 so32 >1122    2a =         */
string=>&32ot;s33  oID139" class="line" namaluL439"> 439
2_devs" cl32        */
/spatio 439
11i8  line" namaluL424"> 424
11  er9"> 439
11i8  line" namaluL424"> 424
11  462475">4e       case 
a href="+c10   >10 so32s/oss/sequ2+code=key" clas11
a >11f32evs<338" class="sre473"> dreleaso,"
a >ref="s32e nonbloc32idluL353" class="line" n32aluL3234     */
/spswitch+ass="sref">shref=cmtde])o 353
1134      2e>11ade=n32"+code=voice" cl11
a >1132uL41323codesre473">=et=SEQ_2" class="try_|_vulo_get,"
a2 &
a 32ntt; 127 &&amm_vo=SE322" c339class="sref">seeeeeeacas ss="sref">shrefSNDCTL_TMR_TIMEBASEtde])oh 339ARNING href=        acas ss="sref">shrefSNDCTL_TMR_TEMPOtde])oshrefSNDCTL_TMR_STARTtde])o acas ss="sref">shrefSNDCTL_TMR_STOPtde])oynth_acas ss="sref">shrefSNDCTL_TMR_CONTINUEtde])o1122    2amaluL439"> 439
1142    32 11f348ey
/a>)f">volume_metacas ss="sref">shrefSNDCTL_TMR_METRONOMEtde])o[
a hrsrefsleeacas ss="sref">shrefSNDCTL_TMR_SOURCEtde])oowneeeeeeeeeo> 475
1083       101111111111111           10111>10   >11 ynth_devs" clalsynt_devs
/a>[
a hrtry_|_vulo_ ="sound/oss/seqpr>re<< 
a 32" nonbloc3253"> 353
1145       11f=32ound34qtmr_note" class="srefffer_t" cu=dev"       - ynth_devs" claEINVAL_devs
/a>[
a hrEINVALth_de       case 
a href="+c10   >10 so32">11ade=n321 de=note" clas48" class32line347codesre473"> dmididoutput=SE       1SEQ_2" class="
">parm
/a> == 10las>10 AFTERTOUCH" class="sr_iocthod
/a>o=de=SEQ_ioctheerr1SEQ_2" class="
">                     10   >1aclass="line" namacmtde])os24" class="arlde"sref">ma>074arlth_dee       case 
a href="+c10   >10 so32 &
a 32" class="line" namaluL3932> 39347s="m_vof">sM!>)o32nt_devs
/a>[
a hrm_vo=SE322" c324ey
/a>)oID139" classacas ss="sref">shrefSNDCTL_TMR_SELECTtde])o[
a hrtry_|_vulo_ ="sound/oss/seqpr>re<< 
a 32 acmd
_         */
/s32tio<32*idluL353" class="lineeeeeeeeeeeeeeee       - ynth_devs" claEINVAL_devs
/a>[
a hrEINVALth_de       case 
a href="+c10   >10 so32anslate_|32o=SEQ_2" class="translat32|_vo358al synffffffff>ynth_devs
/a>eclass="midid="+luLget"soullllllllllllllllget"soulheerr1SEQ_2" class="="line"p/sequlllllllllllllll="line"p/sequt9L23keS>s24" class="up 11
a href="+cp10  a>)     10                        1032"liidi="+32L4href="sne" n|_vo,"
a =32ound358ey
/a>)f">volume_method
/a>buffer_t"       - ynth_devs" claEFAULTtde])okey
/a32f">v358vs
/a>[
a hrsrefsleeper=SEQ_eclass="midid="+luL="line"p/sequlllllllllllllll="line"p/sequt9L2mcVAL"0 ||keS>s24" class="u"line"p/sequlllllllllllllll="line"p/sequt9L2mcERT11 ynth_devs" clanum_llkey
/a>)2u"line"p/sequlllllllllllllll="line"p/sequt9L2]           returnmaNULL_devs
/a>[
a hrNULL_vulo_ ="sound/oss/seqpr>re<< 
a 32_])oowneeeeeeeee=et=SEQ_2" class="try_|_vulo_get,"
a2ref=10   320
ynth_devs" cl48" class32line32namaluL348"> 348
1056      1111111111eS>s24" class="u"line"p/sequlllllllllllllll="line"p/sequt9L2m= -1e       case 
a href="+c10   >10 so32">11ade=n32" class="line" namaluL4132> 41325codesre473"> dmididoutput=SEQ_2" cla       - ynth_devs" claEINVAL_devs
/a>[
a hrEINVALth_de       case 
a href="+c10   >10 so32 &
a 32sound/oss/seqfequtimess=32ref"325class="sref">seeeeeeeeeeeeeen               
a href=10   >10 ynt2<="sref">32"srejiffie=luL4o5" class32line325ey
/a>)oID139" class="line" lass="line" namvathod
/a>o=de=SEQvatluL3  er9"> 439
11i8  u"line"p/sequlllllllllllllll="line"p/sequt9L2e       case 
a href="+c10   >10 so32=s" class=2a href="+codeprev_input_32mess325="srefffffffff48" class="linbreake       case 
a href="+c10   >10 so32 a 353
106>    32 10=325idlu       case 
a href="+c10   >10 so32ss="line"32amaluL353"> 353
1061    32 10i326dev
/a>])oshrefSNDCTL_try_PANICtde])o[
a hrsrefm_v32SEQ_326ey
/a>)f">volume_method
/a>bss/seqfilo=SEQ_2 
a panif">cmd
_devs
/a>[
a panifer.cee       case 
a href="+c10   >10 so32Ra href="32class="2" i1"sreosref"sr32">tt368vs
/a>[
a hrsrefsleeper=SEQ_       - ynth_devs" claEINVAL_devs
/a>[
a hrEINVALth_de       case 
a href="+c10   >10 so32 >10=soun32oss/sequencer.c<        32/
/s368" class="sre473"> dreleaso,"
a >ref="s32Ref=10   32"sound/oss/sequencer.c#132"s>136namaluL348"> 348
1056acas ss="sref">shrefSNDCTL_try_SYNCtde])o11ade=n32amaluL353"> 353
1066    32 10 326codesre473"> dmididoooooooooeittde=SEQ_2" class=111111111         111>10     er9"> 439
11i8  OPEN_READ111111         OPEN_READ_vulo_ ="sound/oss/seqpr>re<< 
a 3267       32        {oseeeeeeeeeeeeeeper=SEQ_       0{o32">cmd
; 
a href="+code=i32clas365ey
/a>)oID139" class="line"  rec
/a>ndao5" class="f"+c75" class="line" namaluL475"> L47" clas10
a >10i"+code=EINV[2" class="qlde"sref">ma>074" class="line" namaluL474"> 474
114>       11                
a href=                break;o<10   >10 d32R>113ynth32sref">synth 
a href="+co32| 
a36s="srefffffffff48" class="lineeeeeeeess/seqfilo=SEQ_2 
ass=ef">cmd
_devs
/a>[
a hr>reerree       case 
a href="+c10   >10 so32 akey32a>)o32ef"sref">rec
/a>)o[
a hrEINTRmalu : 0{o32 Int371B,"
a ="sound/oss/seqpr>re<< 
a h2y_|_vulo_32t,"
a t; 127 &&ammid32ode=378ey
/a>)f">volume_metacas ss="sref">shrefSNDCTL_try_RESETtde])o[
a hrsrefsleeper=SEQ_ss/seqfilo=SEQ_2 
alresass="line" namalu" clresaseerruptibledsleep_on+timeout=SEQ_2" class2y>10=soun32ss/sequencer.cass="sref"32ynth375olume_method
/a>owneeeeeeeee       0{o 
a hr32="+codemididode=dev" cla32="sr3794und/ibledsleep_on+timeout=SEQ_2" clas32class="sr3273"> dmididinputluL4,  
32href327codesre473"> dmididoacas ss="sref">shrefSNDCTL_try_TESTMIDItde])o10 de=syn32_dev376class="sref">seeeeeeeeeeeeeeeittde=SEQ_2" class__get"soullllllllllllllll__get"soul namaluL474"> 474
11equencer.c48" class="line" namaluL3aclass="line" namup 11
a href="+cp10  a>)     10                        1032dide=dee_32os24" class="="midcer.c48" class="line" namaluL3mcERT11 ynth_devs" cla             
a href=11a  >110de=voice" c ||ka >10i"+code=EINVss="line" namaluL462"> 462
1072       10="sound/oss/="midcer.c48" class="line" namaluL3s>      10                        1032o10  nth_devs" cl432 cla32="line" namaluL348"> 3dmididoutput=SE       - ynth_devs" claENXIOtde])o 43381B,"
a ="sound/oss/seqpr>re<< 
a h2ROLLER" c32nt_devs
/a>[
a hrsrefm_v32SEQ_328ey
/a>)f">volume_method
/a>beitta >10i"+code=EINVss="idwrittde])okey
/a>)2="midcer.c48" class="line" namaluL3sL47" clas10a ="sound/oss/seqpr>re<< 
a h2ya href="32class="2" i2    )a75" cl32s="l328vs
/a>[
a hrsrefsleeper=SEQ_22222222tde=SEQ_2" classerllllllllllllllllerle" c  er9"> 439
11i8  Vss="line" namaluL462"> 462
1072       10="sound/oss/="midcer.c48" class="line" namaluL3s+code=EINVAL" class=ep+c75" class="lineep+c namaluL474"> 474
11equencer.c48" class="line" namaluL3aclass="line" nam=111111111         111>10  aclass="line" nam_cla
1134 ne" nnsignss="line" namalu" a
1134 ne" nnsign10  aa ="sound/oss/seqpr>re<< 
a h2y>10=soun32;&amtmrte" class="sreftm32ncef385olume_method
/a>owneeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeelass="line" nam_cla
1134 ne" n>feee*ss="line" namalu" a
1134 ne" n>feee*10  a>mcVAL"0>      10                        1032>o=de=SEQ32" class="e=de,"
a ="soun32oss/32qtmr_note" class="srefffer_t" cu=dev"       1SEQ_2" class="erllllllllllllllllerle" clet=SEQ_2" class="try_|_vulo_get,"
a2>lass="sr32" class="line" namaluL4132> 41386codesre473"> dmididooooooooo >10i"+code=EINVss="idwrittde])okey
/a>)2="midcer.c48" class="line" namaluL3sL= 1e       case 
a href="+c10   >10 so32_devs" cl32sound/oss/seqinin_waitL432e_he328class="sref">seeeeeeeeeeeeee       0{oi
/a> < 
a href="+code=synth_d2n        32>[
a hrmididsleeper=SEQ_32 cla328="srefffffffff48" clacas ss="sref">shrefSNDCTL_try_GETINCOUNTtde])o 3dmididoeittde=SEQ_2" class=111111111         111>10     er9"> 439
11i8  OPEN_WRITEtde])oynth_devs
/a>[*/
stri       0{o)f">volume_method
/a>bss/seqfilo=SEQ_vathod
/a>o=de=SEQvatluL3  er9"> 439
11i8  ni"+c75" class="line"i namalu{o 417
3294  398vs
/a>[
a hrsrefsleeper=SEQ_breake       case 
a href="+c10   >10 so32Rt" class32sref">seq_chn_voiceq_dra32dmid398" class="sre473"> dreleaso,"
a >ref="s32=,"
a s="325" class="line" namaluL432"> 439namaluL348"> 348
1056acas ss="sref">shrefSNDCTL_try_GETOUTCOUNTtde])o dmididoooooooooeittde=SEQ_2" class=111111111         111>10     er9"> 439
11i8  OPEN_READ111111         OPEN_READ_vulo_ ="sound/oss/seqpr>re<< 
a 32   10" cl32s="line" namaluL410"> 413210 7329class="sref">seeeeeedevs
/a>[*/
stri       0{o 439
11i8  try_MAX_QUEUEtde])o10 so32" 395idlu       case 
a href="+c10   >10 so43 11a     43        
a href=11a  >1143y" c406dev
/a>])oshrefSNDCTL_try_GETTIMEtde])o[
a hre=SEQ_2" cl43s="o408ey
/a>)f">volume_method
/a>beittss="midid="+luL41111111111111           10111>10             returnmalsynt_devs
/a>[
a hrtry_|_vulo_ ="sound/oss/seqpr>re<< 
a 431a3      431a"sound/oss/sequencer.c431a"s408vs
/a>[
a hrsrefsleeper=SEQ_22222222       1SEQ_2" class="
">parm
/a> == 10las>10 AFTERTOUCH" class="sr_iocthod
/a>o=de=SEQ_ioctheerr1SEQ_2" class="
">                     10   >1aclass="line" namacmtde])os24" class="arlde"sref">ma>074arlth_dee       case 
a href="+c10   >; 
a 433a3      43sref">seq_chn_voiceq_dra43l_=d405olume_method
/a>owneeeeeeeeess/seqfilo=SEQ_vathod
/a>o=de=SEQvatluL3  er9"> 439
11i8  e" namaluL479"> 479
1059       10 - 1SEQ_2" class="s 11 (!
a href="+code=synt10if >10
e       case 
a href="+c10   >; 
a 434a3      435" class="line" namaluL443tio 40qtmr_note" class="srefffer_t"breake       case 
a href="+c10   >10 so43 >11ade=n43e" class="sref"_devs
/a>43a hr408amalu 4143ncer409class="sref">seeeeeeacas ss="sref">shrefSNDCTL_try_CTRLRATEtde])obsclass="line" na
a hrevo=SEQ_2" class="m_vof">sMID href="sound/os43vs" class43sref">synth 
a href="+co43| 
a406="sre8" class="line" namaluL398"> 398
11=8  amaluL4* If *arl    0,  juss       1eeee    
a rat11d/oss/sequencer.cef">cmd"sromment">/* In43key
43>)os401_QUEUencer.c#11="s>1116nth_<       98
11=8  amaluL4* rd/oss/sequencer.cef">cmd"sromment">/* In43=f">s[43y
/a418al synffffffff>ynth_devs
/a>eclass="midid="+luL41111111111111           10111>10             returnmalsynt_devs
/a>[
a hrtry_|_vulo_ ="sound/oss/seqpr>re<< 
a 43mididode=43>s[volume_method
/a>buffer_t"       1SEQ_2" class="
">parm
/a> == 10las>10 AFTERTOUCH" class="sr_iocthod
/a>o=de=SEQ_ioctheerr1SEQ_2" class="
">                     10   >1aclass="line" namacmtde])os24" class="arlde"sref">ma>074arlth_dee       case 
a href="+c10   >; 
a 43 ++a3" cl43s="line" namaluL353"> 35431113412lass="line" namaluL353"> 353
1134     43d/oss/seq43ncer.c          */
/spat43owneeeeeeeeeo> 475
1083       1get"soullllllllllllllllget"soulheerr1SEQ_2" class="vathod
/a>o=de=SEQvatluL3aclass="line" namup 11
a href="+cp10  a>)     10                        1043dnd/oss/s43="sound/oss/sequencer.c143=">141qtmr_note" class="srefffer_t" cu=dev"       - ynth_devs" claEFAULTtde])o 353
1116       11="43und/416codesre473"> dmididoooooooooeittde=SEQ_2" classvathod
/a>o=de=SEQvatluL3 !="0>      10                        1043d611ade=n43nt"
a href="+code=find_v43nt">419class="sref">seeeeeedevs
/a>[*/
stri       - ynth_devs" claEINVAL_devs
/a>[
a hrEINVALth_de       case 
a href="+c10   >10 so43class="sr43">cmd
>ynt_devs
/a>[
a h43=SEQ419ARNING href=        hod
/a>bss/seqfilo=SEQ_vathod
/a>o=de=SEQvatluL3  er9"> 439
11i8  HZhod
/a>o=de=SEQHZth_de       case 
a href="+c10   >10 so43vs" class43       11unsigned short"43 hre415="srefffffffff48" class="linbreake       case 
a href="+c10   >10 so43 a])oshrefSNDCTL_try_RESETSAIMPLStde])o1122   438" class="line" namaluL343"> 3428ey
/a>)f">volume_metacas ss="sref">shrefSNDCTL_tYNTH_REMOVESAIMPLtde])o 417
4324  428vs
/a>[
a hrsrefsleeacas ss="sref">shrefSNDCTL_tYNTH_CONTROL_devs
/a>[
a hrSNDCTL_tYNTH_CONTROLclas:et=SEQ_2" class="try_|_vulo_get,"
43d/oss/seq43eq_chn_voiceq473"> drele43o=SE425olume_method
/a>owneeeeeeeeeo> 475
1083       1get"soullllllllllllllllget"soulheerr1SEQ_2" class="line" namaluL424"> 424
11i5lass="line" namup 11
a href="+cp10  a>)     10                        1043dnd/oss/s42max_synthdev" class="sre42stru42qtmr_note" class="srefffer_t" cu=dev"       - ynth_devs" claEFAULTtde])o dmididoooooooooeittde=SEQ_2" classline" namaluL424"> 424
11  VAL"0 ||keS>s24" class="line" namaluL424"> 424
11  46211 ynth_devs" clanum_l62">   11
a href="+cnum_l62"> e" c ||kss="midid="+luL462" class="line" namaluL462"> 462
1053       10="soundline" namaluL424"> 424
11]           returnmaNULL_devs
/a>[
a hrNULL_vulo_ ="sound/oss/seqpr>re<< 
a 42d611ade=n421f="sound/oss/sequencer.421f="429class="sref">seeeeeedevs
/a>[*/
stri       - ynth_devs" claENXIOtde])o 339
1052       10int"
a href="+code=voice10int>10
_2" clade=EINVAL" class=ef">cmd
line" namaluL424"> 424
11a>mc7" clas10
a >10i"+code=EINorigncer.c48" class="liorigncerluL3o_ ="sound/oss/seqpr>re<< 
a 42vs" class42a href="+code=max_synthd42" cl42s="srefffffffff48" class="lineeeeeeee       - ynth_devs" claEBUSYtde])ovor439" class="line"42amal42ef"sref">rec
/a>)o 462
1053       10="soundline" namaluL424"> 424
11]FTERTOUCH" class="sr_iocthod
/a>o=de=SEQ_ioctheerr1SEQ_2" class="line" namaluL424"> 424
11i5lass="line" namacmtde])os24" class="arlde"sref">ma>074arlth_dee       case 
a href="+c10   >; 
a 42sequencer42sound/oss/seqDEB=SEQ_2" 42ass=431B,"
a ="sound/oss/seqpr>re<< 
a 42 >1122   42a =         */
string=>&42ot;s438ey
/a>)f">volume_metacas ss="sref">shrefSNDCTL_try_NRtYNTHStde])o[
a hrsrefsleeper=SEQ_ss/seqfilo=SEQ_vathod
/a>o=de=SEQvatluL3  er9"> 439
11i8  a href="+code=voice" cl10
a >10fsound/oss/seet=SEQ_2" class="try_|_vulo_get,"
42d/oss/seq42+code=key" clas11
a >11f42evs<435olume_method
/a>owneeeeeeeeebreake       case 
a href="+c10   >10 so42e nonbloc42idluL353" class="line" n42aluL4394und/ibledsleep_on+timeout=SEQ_2" clas42e>11ade=n42"+code=voice" cl11
a >1142uL41437codesre473"> dmididoacas ss="sref">shrefSNDCTL_try_NRMIDIStde])oseeeeeeper=SEQ_ss/seqfilo=SEQ_vathod
/a>o=de=SEQvatluL3  er9"> 439
11i8  a hr         
a href=11a  >110de=voice" clet=SEQ_2" class="try_|_vulo_get,"
42_vo=SEQ_242encOPEN_READluL4 sref"sr42">h 439ARNING href=        eeeeeeeebreake       case 
a href="+c10   >10 so42vs" class42evs" class="srewhilenth_42vs
/430="sreMIDI_NOTEOFF
/a>;o=max_synthdev" 42 a acas ss="sref">shrefSNDCTL_tYNTH_MEMAVL_devs
/a>[
a hrSNDCTL_tYNTH_MEMAVLclas:et=SEQ_2" class="try_|_vulo_get,"
42e=vo11ret421 oss/sequencer.c#L412""42""""448al synffffffff>ynth_________o> 475
1083       1get"soullllllllllllllllget"soulheerr1SEQ_2" class="line" namaluL424"> 424
11i5lass="line" namup 11
a href="+cp10  a>)     10                        1042 >1122   42amaluL439"> 439
1142    42 11f448ey
/a>)f">volume_mettttttttttttttttt       - ynth_devs" claEFAULTtde])o[
a hrsrefslee________o> 475
1083       1line" namaluL424"> 424
11  VAL"0 ||keS>s24" class="line" namaluL424"> 424
11  46211 ynth_devs" clanum_l62">   11
a href="+cnum_l62"> e" c ||kss="midid="+luL462" class="line" namaluL462"> 462
1053       10="soundline" namaluL424"> 424
11]           returnmaNULL_devs
/a>[
a hrNULL_vulo_ ="sound/oss/seqpr>re<< 
a 42s/oss/seq42o239" class="line" namal42439"445olume_method
/a>owneeeeeeeeetttttttt       - ynth_devs" claENXIOtde])o 353
1145       11f=42ound44qtmr_note" class="srefffer_t"eittaun" namaluL353"> 339
1052       10int"
a href="+code=voice10int>10
_2" clade=EINVAL" class=ef">cmd
line" namaluL424"> 424
11a>mc7" clas10
a >10i"+code=EINorigncer.c48" class="liorigncerluL3o_ ="sound/oss/seqpr>re<< 
a 42">11ade=n421 de=note" clas48" class42line447codesre473"> dmididoutput=SEtttttttt       - ynth_devs" claEBUSYtde])o 39449class="sref">seeeeeeper=SEQ_ss/seqfilo=SEQ_vathod
/a>o=de=SEQvatluL3  er9"> 439
11i8  462" class="line" namaluL462"> 462
1053       10="soundline" namaluL424"> 424
11]FTERTOUCH" class="sr_iocthod
/a>o=de=SEQ_ioctheerr1SEQ_2" class="line" namaluL424"> 424
11i5lass="line" namacmtde])os24" class="arlde"sref">ma>074arlth_dee       case 
a href="+c10   >10 so42_vo=SEQ_242nt_devs
/a>[
a hrm_vo=SE422" c424ey
/a>)oID139" classssssssssbreake       case 
a href="+c10   >10 so42=s" class42encOPEN_READluL474" clas42"lin440="sreMIDI_NOTEOFF
/a>;o=max_synthdev" 42 acmd
_         */
/s42tio<42*idluL353" class="linacas ss="sref">shrefSNDCTL_FM_4OP_ENABPLtde])o 424
11i5lass="line" namup 11
a href="+cp10  a>)     10                        1042"liidi="+42L4href="sne" n|_vo,"
a =42ound458ey
/a>)f">volume_method
/a>buffer_t"       - ynth_devs" claEFAULTtde])okey
/a42f">v458vs
/a>[
a hrsrefsleeper=SEQ_eclass="midid="+luLline" namaluL424"> 424
11  VAL"0 ||keS>s24" class="line" namaluL424"> 424
11  46211 ynth_devs" clanum_l62">   11
a href="+cnum_l62"> e" c ||kss="midid="+luL462" class="line" namaluL462"> 462
1053       10="soundline" namaluL424"> 424
11]           returnmaNULL_devs
/a>[
a hrNULL_vulo_ ="sound/oss/seqpr>re<< 
a 42_])oowneeeeeeeeeuffer_t"       - ynth_devs" claENXIOtde])o 348
1056      11eittaun" namaluL353"> 339
1052       10int"
a href="+code=voice10int>10
_2" clade=EINVAL" class=ef">cmd
line" namaluL424"> 424
11a>o_ ="sound/oss/seqpr>re<< 
a 42">11ade=n42" class="line" namaluL4142> 41425codesre473"> dmididoutput=SEQ_2" cla       - ynth_devs" claENXIOtde])oseeeeeeeeeeeeeer9"> 439
11i8  462" class="line" namaluL462"> 462
1053       10="soundline" namaluL424"> 424
11]FTERTOUCH" class="sr_iocthod
/a>o=de=SEQ_ioctheerr1SEQ_2" class="line" namaluL424"> 424
11i5lass="line" namacmtde])os24" class="arlde"sref">ma>074arlth_dee       case 
a href="+c10   >10 so42<="sref">42"srejiffie=luL4o5" class42line425ey
/a>)oID139" class="line"        0{o;o=max_synthdev" 42 a 353
106>    42 10=45="line" namaluL348"> acas ss="sref">shrefSNDCTL_tYNTH_INFOtde])o 353
1061    42 10i426dev
/a>])o 424
11i5
_2" (( strucof">s24" class="462"> inf                462"> inf ARNINsref">key
/a>)2="soullllllllllllllll="souline" u)eS>s24" class="arlde"sref">ma>074arlth_deFTERTOUCH" class="sr0deeice" namaluL424"> 42eic10  a>)     10                        1042ROLLER" c42nt_devs
/a>[
a hrsrefm_v42SEQ_426ey
/a>)f">volume_method
/a>bQ_2" cla       - ynth_devs" claEFAULTtde])ott468vs
/a>[
a hrsrefsleeper=SEQ_eclass="midid="+luLline" namaluL424"> 424
11  VAL"0 ||keS>s24" class="line" namaluL424"> 424
11  46211 ynth_devs" claa href="+code=voice" cl10
a >10fsound/oss/s>)     10                        1042_])oowneeeeeeeeeuffer_t"       - ynth_devs" claENXIOtde])o146namaluL348"> 348
1056per=SEQ_eclaaun" namaluL353"> 339
1052       10int"
a href="+code=voice10int>10
_2" clade=EINVAL" class=ef">cmd
line" namaluL424"> 424
11a>mc7" clas10
a >10i"+code=EINorigncer.c48" class="liorigncerluL3o_ ="sound/oss/seqpr>re<< 
a 42">11ade=n42amaluL353"> 353
1066    42 10 426codesre473"> dmididooooooooouffer_t"       - ynth_devs" claEBUSYtde])o426class="sref">seeeeeeeeeeeeee       1SEQ_2" class="462" class="line" namaluL462"> 462
1053       10="soundline" namaluL424"> 424
11]FTERTOUCH" class="sr_iocthod
/a>o=de=SEQ_ioctheerr1SEQ_2" class="line" namaluL424"> 424
11i5lass="line" namacmtde])os24" class="arlde"sref">ma>074arlth_dee       case 
a href="+c10   >10 so42R="sref">42">cmd
; 
a href="+code=i42clas461sref">i
/a> < 
a href="+code=synth_42R>113ynth42sref">synth 
a href="+co42| 
a46s="srefffffffff48" cleclass="line" na
a hrevo=Like tYNTH_INFO buss      s IDn o<1eeeref= field4* rd/oss/sequencer.cef">cmd"sromment">/* In42 akey42a>)o42ef"sref">rec
/a>)oshrefSNDCTL_tYNTH_ID111111         SNDCTL_tYNTH_IDclas:et=SEQ_2" class="try_|_vulo_get,"
42ound/oss/42q10}o<>10 ass="comment">42 Int476dev
/a>])o 424
11i5
_2" (( strucof">s24" class="462"> inf                462"> inf ARNINsref">key
/a>)2="soullllllllllllllll="souline" u)eS>s24" class="arlde"sref">ma>074arlth_deFTERTOUCH" class="sr0deeice" namaluL424"> 42eic10  a>)     10                        1042y_|_vulo_42t,"
a t; 127 &&ammid42ode=478ey
/a>)f">volume_metoooooooouffer_t"       - ynth_devs" claEFAULTtde])o 424
11  VAL"0 ||keS>s24" class="line" namaluL424"> 424
11  46211 ynth_devs" claa href="+code=voice" cl10
a >10fsound/oss/s>)     10                        1042y>10=soun42ss/sequencer.cass="sref"42ynth475olume_method
/a>owneeeeeeeeeuffer_t"       - ynth_devs" claENXIOtde])o 
a hr42="+codemididode=dev" cla42="sr47namaluL348"> 348
1056per=SEQ_eclaaun" namaluL353"> 339
1052       10int"
a href="+code=voice10int>10
_2" clade=EINVAL" class=ef">cmd
line" namaluL424"> 424
11a>mc7" clas10
a >10i"+code=EINorigncer.c48" class="liorigncerluL3o_ ="sound/oss/seqpr>re<< 
a 42class="sr4273"> dmididinputluL4,  
42href427codesre473"> dmididoeeeeeeeeuffer_t"       - ynth_devs" claEBUSYtde])oseeeeeeeeeeeeee ynth_devs" claaemcpye=voice" cl10
a emcpyheerrlas10OUCH" class="sr_nf" class="line" nnfe" caclass="line" nam_62" class="line" namaluL462"> 462
1053       10="soundline" namaluL424"> 424
11]FTERTOUCH" class="sr_nf                inf ARNI, sizeofun" namaluL353">_nf" class="line" nnfe" c)ee       case 
a href="+c10   >10 so42dide=dee_42o 462
1053       10="soundline" namaluL424"> 424
11]FTERTOUCH" class="sr_mtde])o_nf" class="line" nnfe" c. ynth_devs" clana!
a href="+code=sna!
e" c)ee       case 
a href="+c10   >10 so42R>113ynth42 if (
a h10   >10 de=voi42" cl42s="srefffffffff48" class="linn" namaluL353">_nf" class="line" nnfe" c. ynth_devs" cla0deeice" namaluL424"> 42eic10    er9"> 439
11i8  line" namaluL424"> 424
11e       case 
a href="+c10   >10 so42 a10  nth_devs" cl442 cla42="line" namaluL348"> 3dmidido       1SEQ_2" class="copy_to"soullllllllllllllllcopy_to"soulheerr1SEQ_2" class="arlde"sref">ma>074arlth_di5
_2" OUCH" class="sr_nf" class="line" nnfe" cacsizeofun" namaluL353">_nf" class="line" nnfe" c)e?- ynth_devs" claEFAULTtde])o 43481B,"
a ="sound/oss/seqpr>re<< 
a 42ROLLER" c42nt_devs
/a>[
a hrsrefm_v42SEQ_428ey
/a>)f">volume_metacas ss="sref">shrefSNDCTL_try_OUTOFBAND111111         SNDCTL_try_OUTOFBANDclas:et=SEQ_2" class="try_|_vulo_get,"
42ya href="42class="2" i2    )a75" cl42s="l428vs
/a>[
a hrsrefsleeper=SEQ_eclass="midid="+luLcopy_from"soullllllllllllllllcopy_from"soulheerrlas10OUCH" class="sr 439
17ress="line" namal 439
17reARNI3keS>s24" class="arlde"sref">ma>074arlth_dacsizeofun" namaluL353"> 439
17ress="line" namal 439
17reARNIa>o_ ="sound/oss/seqpr>re<< 
a 42y>10=soun42;&amtmrte" class="sreftm48refSNDCTL_TMR_TEMPOtde])o4eee*10  a>mcVAL"0>      14     4                  1032>o=de=SElass="line" nnfepin_lock_irqsav>43y
/a418al synfpin_lock_irqsav>Q_eclass="midid="+luLcopylock43y
/a418al synlock="linmidid="+luLcopy" class="line"32amal32439"> 4class="line" nnfe" c. ynth_devs" clans="erlllll4llllllllllerle" clet=SEQ_4" cla4s="try_|_vulo_get,"
a2>lass="sr32" class="linplayRNING lheerr1SEQ_2" cllayRNING ido       1SEQ_2" cleS>s24" class="arlde"sref">ma>074arltefffffffff48" clas/32qtmr_note" class="srclass="line" nnfe" c. ynth_devs" clansUSYtde])o43y
/a418al synfpin_unlock_irqrestor>Q_eclass="midid="+luLcopylock43y
/a418al synlock="linmidid="+luLcopy" class="line"32amal32439"> 4class="line" nnfe" c. ynth_devs" clans_nf" classeeeeeeeee       0{o10 so42<="sref">42"srejiffie=luL4o5" class42line425ey
/a>)orefsleeper4SEQ_232clas381sref">i
/a>4< 48/oss/seq10{o<>10=CO42=s" class42a href="refSNDCTL_4ry_GETINCOUNTclas:et=SEQ_4" cla4s="try_|_vulo_get,"
a2ROLLER" c42nt_devs
/a>[
a has s   42 10=45="line" namaluL3as s   42ef">shrefSNDCTL_try_OUTOFBAND111111     de])o10 ass="comment">42 Int476dev
/a>])os24" class="462"> inf                462"> inf ARNINsref">key
/a>)2="soullllllllllllllll="souline" u)eS>s24" class="arlde"sref">ma>074arlth_deFTERTOUCH" class="sr0deenth_devs
/4>[*/
stri       0{o42"srelass="sreftm48refSNDCTL_TMR_TEMPOtde])o 424
11  VAL"0 ||keSs="="midcer.c48" class="line" namaluL3mcERT11 ynth_devs" cla             
a href=11a  >110de=voice" c ||ka >10line" nam_62" class="line">074arlth_deFTERTOUCH" class="sr0deen"line" namsleeper=SEQ_breake       4ase 
49                 1042y>10=soun42ss/sequencer.cass="sref"42ynth475olume_method
/a>owneeeeeeeeeuffer_t"       - ynth_devs" claEq_chn_voic4q_dra32dmid398" class="sr4473">4dreleaso,"
a >ref="s3222222222T11 ynth_devs" cla             
a href=11a  >110de=voice" c ||ka >10line" nam_62" class="line" namaluL462"> 462
1053       10="soundline" namefffffffff48" class="linn" namaluL353">_nf" class="line" nnfe" c. ynth_devs" cla0deeice" namaluL424"> 42eic10    er9"> 439
11iefSNDCTL_t4y_GETOUTCOUNTclas:et=SEQ_4" cla4s="try_|_vulo_get,"
a2=lass="sf42e10   >10  nth_devs" cl442 cla42="line" namaluL348"> 3dmidido       1SEQ_2" class="copy_to"soullllllllllllllllcopy_to"soulheecla             
a href=11a  >110de=voice" c ||ka >10line" nam_62" class="line" namaluL462"> 462
1053       10="soundline" namne" namalllget"soulheerr1SEQ_2"  aclas       10="soundl  aclas  
_2"="line" nnfe" cacsizeofun" namaluL353">_nf" class="line" nnfe" c)e?- ynth_devs" claEFAUL111111    4    OPEN_READ_vulo_ ="sou4d/oss49href="+c10   >10 so32 &
a 32" class4eeeedevs
/4>[*/
stri       0{o dmididinputluL4,HRESHOLQ_428ey
/a>)f">volume_metac,HRESHOLQef">shrefSNDCTL_try_OUTOFBAND111111     defsleeper4ass="line" namalu{o 395idlu       5ase 
5 href="+c10   >10 so43n       q43ncer.c          e" namaluL3942> 39449class hrsr1vathod
/a>o=de=SEQvatluL3aclass="li5a hrefSNDC5L_try_GETTIMEclas:et=SEQ_5" cla5s="try_|_vulo_get,"
43de=EINVAAAAAAAAAcer.c          e" namaluL3942> 39449classund/ class="sref">key
/a>)2="midcer.c45synt_devs
5a>[
a hrtry_|_vulo_ ="sou5d/oss5seqpr>re<< 
a 431a3     q43ncer.c          e" namaluL3942> 39449class 24"> 424
11  VAL"0 |d
/a>bss/seqfilo=SEQ_vathod
/a>o=de=SEQvatluLvathod
/a>o=de=SEQvatluL3aclass="li5a3nt_devs
5aleeper=SEQ_breake       5ase 
5 href="+c10   >; 
a 433a3     AAAAAAAAcer.c          e" namaluL3942> 39449classun424
11  VAL"0 |d
/a>bss/seqfilo=SEQ_vathod
/a>o=de=SEQvatluL -nd/ class="sref">key
/a>)2="midcer.c45s4nt_devs
5a_dra32dmid398" class="sr5ase 
5 href="+c10   >; 
a 434a3     e=EINVAL" class=s="li_tINVshol3       10="soun=s="li_tINVshol3classun424
11  VAL"0 |e" namaluL3942> 39449clas/ class="sref">key
/a>)2="midcer.c45s5nt_devs
5a_GETOUTCOUNTclas:et=SEQ_5ase 
50="try_|_vulo_get,"
a2=lass="sf42e10 line" nnfe" c)e?- ynth_devs" claEFAU5="sref"_de5s
/a>43a hr408amalu10 so32 &
a 32" class5 hrefSNDCT5_try_CTRLRATEclas:et=SEQ_5" cla5s="try_|_vulo_get,"
43ROLLER" c42nt_devs
/a>[
a has s PRE143y" c406dev
/a>])oshrefSNDCTL_try_OUTOFBAND111111    5lass="line5 na
a hrevo=SEQ_2" class=5m_vof50/oss/seq10{o<>10=CO32n       q43ncer.c          */
/spat43owneeeeeeeeeo> 475
1083       1get"soullllllllllllllllget"soulheerr1SEQ_2" class="vathod
/a>o=de=SEQvatluL3aclass="li5      1eee5    
a rat11d/oss/sequenc5r.cef50                 1032o10  nth_devs" cl432 clSNDCTL_TMR_TEMPOtde])ocmd"sromment">/* In43=f">s[ 39449class hrsr dmididoooooooooeittde=SEQ_2" classv5synt_devs
5a>[
a hrtry_|_vulo_ ="sou5d/oss5seqpr>re<< 
a 43mididode=43>s[ 39449classunline" nnfe" c)e?- ynth_devs" claEFAU5="arlde"sr5f">ma>074arlth_dee       5ase 
51="try_|_vulo_get,"
42_devs" cl42        */
/spatio[ef="sound/ classd
/a>bss/seqfilo=SEQ_va *cl42        */
/spatio 35431113412lass="line"5namal5L353"> 353
1134     43d/oss/selllllllllget"soureRNING "> 47oeeeeeeeeeeeeeeeeeureRNING "> 47oeeclassun424
11  VAL"0 |e" namaluL3942> 39449clas/ class="sref">key
/a>)2="midcer.c45e" namup 15
a href="+cp10  a>)     15     5                  1043dnd/oss/242nt_devs
/a>[
a hrm_vo=SE422" c424ey
/5ULTtde])o<5o=5e=SEQvatluL3 !="0>      15     5                  1043defaultshrefSNDCTL_try_OUTOFBAND111111    5VAL_devs
/5>[
a hrEINVALth_de       5ase 
5 href="+c10   >10 so43class="sr32ref="sound/oss/sequencer32#L42396codesre473"> dmididoooooooooeittde=SEQ_2" class=111111111         111>10     er9"> 439
11i8  OPEN_REA51i8  HZhod5/a>o=de=SEQHZth_de       5ase 
5 href="+c10   >10 so43vs" classsssssss href="+code=find_v43nt">5olume_method
/a>neeeeeeeeeuffer_t"       - ynth_devs" cla5fffffffff45" class="linbreake       5ase 
51="try_|_vulo_get,"
a2tndao5" class=" c. ynth_devs" clana!
a href="+code=sn0">074arlth_deFTERTOUCH" class="sr0de5p_on+timeo5t,"
a43ynth415idlu       5ase 
5 href="+c10   >10 so43vs" classsssssss href="+code=find_v43nt"h475olume_method
/a>owneeeeeeeeeuffer_t"       - ynth_devs" cla5fSNDCTL_tr5_RESETSAIMPLSclas:et=SEQ_5" cla5s="try_|_vulo_get,"
43t 348
1056per=SEQ_eclaaun" namaluL353"> 3390h_dacsizeofun" namaluL353"> 439
17res5NDCTL_tYNT5_REMOVESAIMPLclas:et=SEQ_5" cla5s="try_|_vulo_get,"
43vs" classsssssss href="+code=find_v43nt"h475olume_method
/a>owneeeeeeeeeuffer_t"       - ynth_devs" cla5f3nt_devs
5tYNTH_CONTROLclas:et=SEQ_5" cla5s="try_|_vulo_get,"
43d/oss/seq43e
/a>ndao5" class=" c. ynth_devs" clana!
a href="+code=sn0" namaluL462"> 462
1053       10="soundline" namaldacsizeofun" namaluL353"> 439
17res5N" namup 15
a href="+cp10  a>)     15     5                  1043dnd/oss/s42max_synthdev" class="sre42str>419class="sref">seeeeeedevs
/a>[*/
stri       - ynth_devs" claEI5ULTtde])o<5426class="sref">seeeeeeeeeeee0" namaluL462"> 462
1053       10="soundline" namal(0od
/a>o=de=SEQ_ioctheerr1SEQ_2" class="line" namaluL424"> 424
11i5lass="line" namacmtde])os24" clas5aNULL_devs5/a>[
a hrNULL_vulo_ ="sou5d/oss5seqpr>re<&l}e])os24" clas5aAL_devs
/5aowneeeeeeeeeo> 475
1083       1get"soullllllllllllllllget"soulheerr1SEQ_2" class="de])os24" clas5ai8  HZhod5s="liorigncerluL3o_ ="sou5d/oss5seqpr>}e])os24" clas5affffffff45ama>074arlth_dee       5ase 
5 href=R>113ynth42sref">synth 
aNo kernel lock - we're using48" cglobal irq lock here ne" na
a hrevo=Like tYNTH_INFO buss      s 5s/seqDEB=S5Q_2" 42ass=431B,"
a ="sou5d/oss5seqpr>unsigned in"soulheerr1SEQ_2"  buss   _pol083       1get"s  buss   _pol0a>ownin"soulheerr1SEQ_2"="midid="+luLget"soulllllllllget"soulheerr1SEQ_2"filencer32#L42396cofileQ_va *oulheerr1SEQ_2"filencer32#L42396cofileQ_valllllllllllget"souol0_tablencer32#L42396couol0_tableQ_va *cl42        */
/waieeeeeeeeeeeeeeeewaieamaldacsizeofun" namaluL353"> 439
17res5 hrefSNDCT5_try_NRtYNTHSclas:et=SEQ_5" cla5s="try{acsizeofun" namaluL353"> 439
17res5 3nt_devs
5a >10fsound/oss/seet=SEQ_5" cla5s="try_|_vulo_unsigned long4midid="+luLcopy" class="line"32amal32439"> 4de])os24" clas5_method
/a5owneeeeeeeeebreake       5ase 
534"try_|_vulo_unsigned in"soulheerr1SEQ_2"r47namaluL348"> 348Q_eclaaununline" nnfe" c)e?- ynth_devs" claEFAU5" class="l5ne" n42aluL4394und/ibleds5eep_o53href="+c10   >10 so43 >11ade=n43e" clas5a hrefSNDC5L_try_NRMIDISclas:et=SEQ_5" cla5s="try_|_vulo_eper=SEQ_eclass="midid="+luLline" namaluLs="line" nnfe" c. ynth_devs" cla0deeice" ns 24" 24" 4ine" nnfe" c)e?- ynth_devs" claEFAU5"AL_devs
/5  >110de=voice" clet=SEQ_5" cla53href="+c10   >10 so42R="sref">42">cmd
;5G href=   5    eeeeeeeebreake       5ase 
538"try_|_vulo_eper=SEQ_eclassepin_lock_irqsav>43y
/a418al synfpin_lock_irqsav>Q_eclass="midid="+luLcopylock43y
/a418al synlock="linmidid="+luLcopy" class="line"32amal32439"> 4class="line" nnfe" c. ynth_devs" cla5ss="srewhi5enth_42vs
/430="sreMIDI_N5TEOFF5/a>;o=max_syntR>113ynth42sref">synth 
aass=" ne" na
a hrevo=Like tYNTH_INFO buss      s 5
a hrSNDCT5_tYNTH_MEMAVLclas:et=SEQ_5" cla5s="try_|_vulo_lllllllllget"souol0_waieeeeeeeeeeeeeeeeuol0_waiea>owneeeeeeeeeo> 475filencer32#L42396cofileQ_valllllllcopy_to"soulheecla  sleepat43bss/seqfilo=SEQ_vathod
/dacsizeofun" namaluL353"> 439
17res5ULTtde])o<5 348Q_eclaaun|s="line" nnfe" c.POLLINamaluL348"> 348POLLINlaaun|="line" nnfe" c.POLLRDNORMamaluL348"> 348POLLRDNORM"> 4de])os24" clas5aNULL_devs5/a>[
a hrNULL_vulo_ ="sou5d/oss54href="+c10   >10 so32Rt" class32sref">s5NXIOtde])o5asynth 
a=s="li ne" na
a hrevo=Like tYNTH_INFO buss      s 5
 class="l5s="liorigncerluL3o_ ="sou5d/oss5seqpr>re<&llllllllllget"souol0_waieeeeeeeeeeeeeeeeuol0_waiea>owneeeeeeeeeo> 475filencer32#L42396cofileQ_valllllllcopy_to"soulheeO b sleepat43 439
11i8  try_MAX_QUEUEtde])o 424
11  VAL"0 |=s="li_tINVshol3       10="soun=s="li_tINVshol3clasdacsizeofun" namaluL353"> 439
17res5UAL_devs
/5f">ma>074arlth_dee       5ase 
5 href="+c10   >10 so42oulheerr1SEQ_2"r47namaluL348"> 348Q_eclaaun|s="line" nnfe" c.POLLOUTL_TMR_TEMPOtde]POLLOUTlaaun|="line" nnfe" c.POLLWRNORMamaluL348"> 348POLLWRNORM"> 4de])os24" clas5a href=   5lassssssssssbreake       5ase 
548"try_|_vulo_eper=SEQ_eclassepin_unlock_irqrestor>43y
/a418al synfpin_unlock_irqrestor>Q_eclass="midid="+luLcopylock43y
/a418al synlock="linmidid="+luLcopy" class="line"32amal32439"> 4class="line" nnfe" c. ynth_devs" cla5READluL4745 clas42"lin440="sreMIDI_N5TEOFF5/a>;o=max_synt 42        {o 348Q_eclaaulass="line" nnfe" c. ynth_devs" cla5hrefSNDCTL5FM_4OP_ENABPLclas:et=SEQ_5" cla5s="try}e])os24" clas5e" namup 15
a href="+cp10  a>)     15     5      e])os24" clas5eLTtde])o<5voidsoulheerr1SEQ_2"  buss   _> 47t43 47tQ_eclunsigned long4midid="+luLcopydumm class42sref42kedumm clasdacsizeofun" namaluL353"> 439
17res5NXIOtde])o5a 439
17res5
line" nam5luL424"> 424
11a>o_ ="sou5d/oss55eqpr>re<&llllllllllget"soO b startllay43s24" clas5eAL_devs
/5f">ma>074arlth_dee       5ase 
5 href= class="sre42strXPORT_SYMB4  428vs
/a>[
a hrXPORT_SYMB4 a>owneeeeeeeeeo> 475  buss   _> 47t43 47tQ_ecclass="line" nnfe" c. ynth_devs" cla5N href=   5s="line"        0{o;o=in"soulheerr1SEQ_2"note"> 3freq43 3freqa>ownin"soulheerr1SEQ_2"note"num43 439
17res5 439
17res5ice" namal5L424"> 42eic10  a>)     15     56     e])os24" clas5ULTtde])o<510fsound/oss/s>)     15     5      romment">/* In43bs5oXIOtde])o5a/* In4343y
/a418al synoctav>Q_valllllllllllget"sonote"freq43owlass="line" nnfe" c. ynth_devs" cla5="arlde"sr5f">ma>074arlth_dee       5ase 
56href="+c10   static in"soulheerr1SEQ_2"note class="line" namote eeeee] =ass="line" nnfe" c. ynth_devs" cla5= href=   5ode=i42clas461sref">i
/a>5< 5a href="+code={acsizeofun" namaluL353"> 439
17res5icodeprev_5f= field4* rd/oss/sequenc5r.cef5>cmd"sromment">/* In42261632, 277189, 293671, 311132, 329632, 349232,acsizeofun" namaluL353"> 439
17res5         S5DCTL_tYNTH_IDclas:et=SEQ_5" cla5s="try_|_vulo_get,"
42369998, 391998, 4
5 h6, 440000, 466162, 493880acsizeofun" namaluL353"> 439
17res5 ce" namal5L424"> 42eic10  a>)     15     5              }lass="line" nnfe" c. ynth_devs" cla5ULTtde])o<510fsound/oss/s>)     15     5      #defoss oulheerr1SEQ_2"BASE_OCTAVfilo=SEQ_vathod
BASE_OCTAVf         5"+c10   >; 
a 43 ++a3" cl43s="line5oXIOtde])o5are<&llllllllllget"sooctav>43y
/a418al synoctav>Q_vaLs="line" nnfe" c.note"num4342">cmd
;5a!
a href=5+code=sna!
e" c)ee       5ase 
578"try_|_vulo_eper=SEQ_eclassnote"freq43owLs="line" nnfe" c.note class="line" namote eeeeeeper=SEQ_eclassnote43 424
11e       5ase 
57href="+c10   >10 so43 a 439
17res5"line" nam5luL4342> 43481B,"
a ="sou5d/oss5seqpr>re<< 
a 42eper=SEQ_eclassnote"freq43owL 24" 24">[ef="sound/ classBASE_OCTAVfilo=SEQ_vathod
BASE_OCTAVf       er9"> 439
11i8 octav>43y
/a418al synoctav>Q_vaclass="line" nnfe" c. ynth_devs" cla5    SNDCTL5try_OUTOFBANDclas:et=SEQ_5" cla5s="try_|_vulo_else_r32ref="sound/oss/soctav>43y
/a418al synoctav>Q_vaL>g339
1052       10iBASE_OCTAVfilo=SEQ_vathod
BASE_OCTAVf    dacsizeofun" namaluL353"> 439
17res5"ice" cl105al 439
17reARNIa>o_ ="sou5d/oss5seqpr>re<< 
a 42eper=SEQ_eclassnote"freq43owL 53"> 33>[ef="sound/ classoctav>43y
/a418al synoctav>Q_vaL  er9"> 439
11i8 BASE_OCTAVfilo=SEQ_vathod
BASE_OCTAVf    dlass="line" nnfe" c. ynth_devs" cla5 XIOtde])o5eee*10  a>mcVAL"0>      15     58href="+c10   >10 so42e nonbloc42idluL355s="erlllll5llllllllllerle" clet=SEQ_5" cla5s="try_|_vulo_n43        */
/spatiobs5sUSYtde])o5ne" namaluL3sL= 1e       5ase 
5 href=romment">/* In43[1;*id43clas409ARNING href=        hod
/a>bs5s"arlde"sr5eeeeeeeee       0{o/* In43i
/a>5< 58/oss/seq10{o<>10=CO42=s" class42a href=5refSNDCTL_5ry_GETINCOUNTclas:et=SEQ_5" cla58a>;o=max_synt 42        {oowlass="line" nnfe" c. ynth_devs" cla5de])os24" clas5nth_devs
/5>[*/
stri       0{o[
a hrXPORT_SYMB4 a>owneeeeeeeeeo> 475note"> 3freq43 3freqa>owdlass="line" nnfe" c. ynth_devs" cla5i"+c75" cl5ss="line"i namalu{o; 
a 43 ++a3" cl43s="line5n"line" na5sleeper=SEQ_breake       5ase 
59     unsigned long4midid="+luLcopyn43pute"fbretun>43y
/a418al synn43pute"fbretun>Q_eclunsigned long4midid="+luLcopybase"freq4343y
/a418al synrang>Q_val"+c10   >; 
a 43 ++a3" cl43s="line5nXIOtde])o5q_dra32dmid398" class="sr5473">5dreleaso,"
a >ref="s322in"soulheerr1SEQ_2"vibra> 3ca 3ca 439
17res5efSNDCTL_t5y_GETOUTCOUNTclas:et=SEQ_5" cla5s="try{acsizeofun" namaluL353"> 439
17res5111111    5    OPEN_READ_vulo_ ="sou5d/oss59="try_|_vulo_unsigned long4midid="+luLcopyam naeeeeeeeeeeeeeeeeam naea>owlass="line" nnfe" c. ynth_devs" cla5d"arlde"sr5>[*/
stri       0{o43y
/a418al synnegativ>Q_valllllllllllget"sosemitone class="line" nasemitone Q_valllllllllllget"socaowLs=d/ class="sref">key
/a>)2="midcer.c45defsleeper5ass="line" namalu{o 439
17res6s="line" n6maluL323"> 395idlu       6ase 
6 href="+c10   >10 so43 42        {okey
/a>)2="midcer.c46a hrefSNDC6L_try_GETTIMEclas:et=SEQ_6" cla60             r32r
/a>ndao5" classrang>43y
/a418al synrang>Q_vadacsizeofun" namaluL353"> 439
17res6s2hrefSNDC6Ls="line"i namalu{ore<< 
a 43 42        {okey
/a>)2="midcer.c46a3hrefSNDC6Lleeper=SEQ_breake       6ase 
60href="+c10   >10 so32Rt" class32sref">s6s4nt_devs
6a_dra32dmid398" class="sr6ase 
6 href="+c10   q43e
/a>ndao5" classbase"freq43 439
17res6s5nt_devs
6a_GETOUTCOUNTclas:et=SEQ_6ase 
60="try_|_vulo_get,"
a2 42        {okey
/a>)2="midcer.c46a6nt_devs
6a   OPEN_READ_vulo_ ="sou6="sou60href="+c10   >10 so32 &
a 32" class6 hrefSNDCT6_try_CTRLRATEclas:et=SEQ_6" cla6s="try_|_vulo_r32ref="sound/oss/srang>43y
/a418al synrang>Q_vas 24"> 8192dacsizeofun" namaluL353"> 439
17res6s8refSNDCT6_ss="line" namalu{o10=CO32ef="sound/oss/srang>43y
/a418al synrang>Q_vas> 8192/ class="sref">key
/a>)2="midcer.c46a9refSNDCT6_ class="linbreake       6r.cef60href="+c10   >10 so43 asynth 
aConvert to ca[
a hrtry_|_vulo_ ="sou6d/oss6seqpr>re<&l"line" nnfe" c.ben3       10="sounben3Q_vaL+un424
11  VAL"0 |eibra> 3ca 3cakey
/a>)2="midcer.c46="arlde"sr6f">ma>074arlth_dee       6ase 
61href="+c10   >; 
a 43 ++a3" cl43s="line6=3nt_devs
6"> 35431113412lass="line"6namal6L353"> 353
113q43e
/a>ndao5" classben3       10="sounben3Q_vadacsizeofun" namaluL353"> 439
17res6e" namup 16
a href="+cp10  a>)     16     6                  1043 42        {okey
/a>)2="midcer.c46ULTtde])o<6o=6e=SEQvatluL3 !="0>      16     61="try_|_vulo_eper=SEQ_eclassnegativ>43y
/a418al synnegativ>Q_vaLs="line" nnfe" c.ben3       10="sounben3Q_vaL hrsref? 1 :nline" nnfe" c)e?- ynth_devs" claEFAU6VAL_devs
/6>[
a hrEINVALth_de       6ase 
61href="+c10   >10 so42R="sref">42">cmd
;61i8  HZhod6/a>o=de=SEQHZth_de       6ase 
6 href="+c10   r32ref="sound/oss/sben3       10="sounben3Q_vaL hrsredacsizeofun" namaluL353"> 439
17res6e9refSNDCT6" class="linbreake       6ase 
61="try_|_vulo_get,"
a2"line" nnfe" c.ben3       10="sounben3Q_vaL*= -d/ class="sref">key
/a>)2="midcer.c46p_on+timeo6t,"
a43ynth415idlu       6ase 
62="try_|_vulo_r32ref="sound/oss/sben3       10="sounben3Q_vaL g339
1052       10irang>43y
/a418al synrang>Q_vadacsizeofun" namaluL353"> 439
17res6fSNDCTL_tr6_RESETSAIMPLSclas:et=SEQ_6" cla6s="try_|_vulo_get,"
43lllllllllget"soben3       10="sounben3Q_vaLs="line" nnfe" c.rang>43y
/a418al synrang>Q_va/ class="sref">key
/a>)2="midcer.c46p"arlde"sr6_REMOVESAIMPLclas:et=SEQ_6" cla62href="+c10   >; 
a 43 ++a3" cl43s="line6f3nt_devs
6tYNTH_CONTROLclas:et=SEQ_6" cla6s="try_|_vulo_n43        */
/spatiobs6N" namup 16
a href="+cp10  a>)     16     62href=romment">/* In43bs6ULTtde])o<6/* In43bs6aNULL_devs6/a>[
a hrNULL_vulo_ ="sou6d/oss62href=romment">/* In43 439
17res6affffffff46aowL*= 4ine" nnfe" c)e?- ynth_devs" claEFAU6="arlde"sr6f">ma>074arlth_dee       6ase 
63href="+c10   >10 so43ef="sound/oss/sben3       10="sounben3Q_vaL-=9240line" nnfe" c)e?- ynth_devs" claEFAU6s/seqDEB=S6Q_2" 42ass=431B,"
a ="sou6d/oss63             }ne" nnfe" c)e?- ynth_devs" claEFAU6s"arlde"sr6_try_NRtYNTHSclas:et=SEQ_6" cla63href="+c10   >; 
a 43 ++a3" cl43s="line6 3nt_devs
6a >10fsound/oss/seet=SEQ_6" cla6s="try_|_vulo_lllllllllget"sosemitone class="line" nasemitone Q_vaLs="line" nnfe" c.ben3       10="sounben3Q_vaL/ 1lline" nnfe" c)e?- ynth_devs" claEFAU6s" namup 16owneeeeeeeeebreake       6ase 
634"try_|_vulo_lllllllllget"socaowL*_lllllllllget"soca110de=voice" clet=SEQ_6" cla63href="+c10   >10 so42R="sref">42">cmd
;6G href=   6    eeeeeeeebreake       6ase 
63href="+c10   r32ref="sound/oss/snegativ>43y
/a418al synnegativ>Q_va)hrevo=Like tYNTH_INFO buss      s 6ss="srewhi6enth_42vs
/430="sreMIDI_N6TEOFF63="try_|_vulo_get,"
a2 42    ref="sound/oss/sbase"freq43)     16     64="try_|_vulo_get,"
43 42    ref="sound/oss/sbase"freq43[
a hrNULL_vulo_ ="sou6d/oss64href= class="sre42strXPORT_SYMB4  428vs
/a>[
a hrXPORT_SYMB4 a>owneeeeeeeeeo> 475n43pute"fbretun>43y
/a418al synn43pute"fbretun>Q_ecdlass="line" nnfe" c. ynth_devs" cla6NXIOtde])o6avoidsoulheerr1SEQ_2"  buss   _inieeeeeeeeeeeeeeee  buss   _iniea>ownvoid)hrevo=Like tYNTH_INFO buss      s 6e hrefSNDC6a 439
17res6UAL_devs
/6f">ma>074arlth_dee       6ase 
64="try_|_vulo_r32ref="sound/oss/s  buss   _onamaluL348"> 348
 buss   _onQ_va)hrevo=Like tYNTH_INFO buss      s 6a href=   6lassssssssssbreake       6ase 
64/oss/seq10{o<>10=CO32 42   lass="line" nnfe" c. ynth_devs" cla6Ns="srewhi6 clas42"lin440="sreMIDI_N6TEOFF6/a>;o=max_syntef="sound/oss/sth_u>43y
/a418al synth_u>    Ls="line" nnfe" c.vmalloclass="arlde"srevmalloca>owneeeeeeeeeo> 475d
/a>bss/seqfilo=SEQ_vathod
/a>o=de=SEQvatluL3*_midid="+luLcopyEV_S
/a>bss/seqfilo=EV_S
Q_ecdlass="line" nnfe" c. ynth_devs" cla6hrefSNDCTL6FM_4OP_ENABPLclas:et=SEQ_6" cla65="try_|_vulo_r32ref="sound/oss/sth_u>43y
/a418al synth_u>    Lss="line" nnfe" c.NUL  428vs
/a>[
a hNUL Q_va)hrevo=Like tYNTH_INFO buss      s 6e" namup 16
a href="+cp10  a>)     16     65="try_|_vulo_{acsizeofun" namaluL353"> 439
17res6eLTtde])o<6 348printna>owneeeeeeeeeo> 475KERN_ERRamaluL348"> 348KERN_ERRref="n43        */strin
1>"53"> 439
: Can't allocate memory for 53"> 439
a=s="li th_u>\n"" na
a dlass="line" nnfe" c. ynth_devs" cla6hNULL_devs6/a>[
a hrNULL_vulo_ ="sou6d/oss65eqpr>re<< 
a 42 42   lass="line" nnfe" c. ynth_devs" cla6NXIOtde])o6a 424
11a>o_ ="sou6d/oss65eqpr>re<&llllllllllget"soith_u>43y
/a418al synith_u>    Ls="line" nnfe" c.vmalloclass="arlde"srevmalloca>owneeeeeeeeeo> 475d
/a>bss/seqfilo=SEQ_vathod
/a>o=de=SEQvatluL3*_midid="+luLcopyIEV_S
/a>bss/seqfilo=IEV_S
Q_ecdlass="line" nnfe" c. ynth_devs" cla6h hrefSNDC6a43y
/a418al synith_u>    Lss="line" nnfe" c.NUL  428vs
/a>[
a hNUL Q_va)hrevo=Like tYNTH_INFO buss      s 6eAL_devs
/6f">ma>074arlth_dee       6ase 
657"try_|_vulo_{acsizeofun" namaluL353"> 439
17res6e href=   6s="line"        0{o 348printna>owneeeeeeeeeo> 475KERN_ERRamaluL348"> 348KERN_ERRref="n43        */strin
1>"53"> 439
: Can't allocate memory for 53"> 439
aass=" th_u>\n"" na
a dlass="line" nnfe" c. ynth_devs" cla6hs="srewhi6nput_42mess450="sreMIDI_N6TEOFF65="try_|_vulo_get,"
a2"line" nnfe" c.vfre>43y
/a418al synvfre>a>owneeeeeeeeeo> 475th_u>43y
/a418al synth_u>    dlass="line" nnfe" c. ynth_devs" cla6 42eic10  a>)     16     66             }ne" nnfe" c)e?- ynth_devs" claEFAU6ULTtde])o<6 348
 buss   _onQ_vaLs=d/ class="sref">key
/a>)2="midcer.c46oice" cl106a >10fsound/oss/s>)     16     6      }ne" nnfe" c)e?- ynth_devs" claEFAU6UXIOtde])o6a[
a hrXPORT_SYMB4 a>owneeeeeeeeeo> 475  buss   _inieeeeeeeeeeeeeeee  buss   _iniea>owdlass="line" nnfe" c. ynth_devs" cla6ma>074arlth_dee       6ase 
66href={acsizeofun" namaluL353"> 439
17res6= href=   6ode=i42clas461sref">i
/a>6< 668"try_|_vulo_eper=SEQ_eclassvfre>43y
/a418al synvfre>a>owneeeeeeeeeo> 475th_u>43y
/a418al synth_u>    dlass="line" nnfe" c. ynth_devs" cla6;o=max_syntef="sound/oss/svfre>43y
/a418al synvfre>a>owneeeeeeeeeo> 475ith_u>43y
/a418al synith_u>    dlass="line" nnfe" c. ynth_devs" cla6         S6DCTL_tYNTH_IDclas:et=SEQ_6" cla67="try_|_vulo_lllllllllget"soth_u>43y
/a418al synth_u>    Ls="line" nnfe" c.ith_u>43y
/a418al synith_u>    Ls="line" nnfe" c.NUL  428vs
/a>[
a hNUL Q_valass="line" nnfe" c. ynth_devs" cla6 " namup 16L424"> 42eic10  a>)     16     6      }ne" nnfe" c)e?- ynth_devs" claEFAU6ULTtde])o<6


The original LXR software by 8" ce" nnfe" http://c)erceforge.net/projects/lxr">LXR /spunieyQ_ec, 8"is experipatial version by e" nnfe" mailto:lxr@LTtux.no">lxr@LTtux.noQ_ec.
lxr.LTtux.no kindly hosted by e" nnfe" http://www.redpill-LTtpro.no">Redpill LTtpro ASQ_ec, provid9 a=f LTtux consulting and operations 53r_nf"s 5i" c 1995.