Rev 2289 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2289 | Rev 2557 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | // $Id: mbng_enc.c |
1 | // $Id: mbng_enc.c 2557 2018-01-06 21:13:08Z tk $
|
2 | //! \defgroup MBNG_ENC
|
2 | //! \defgroup MBNG_ENC
|
3 | //! Encoder access functions for MIDIbox NG
|
3 | //! Encoder access functions for MIDIbox NG
|
4 | //! \{
|
4 | //! \{
|
5 | /* ==========================================================================
|
5 | /* ==========================================================================
|
6 | *
|
6 | *
|
Line 224... | Line 224... | ||
224 | item.value = event_incrementer > 0 ? 0x01 : 0x41; |
224 | item.value = event_incrementer > 0 ? 0x01 : 0x41; |
225 | break; |
225 | break; |
226 | 226 | ||
227 | default: { // MBNG_EVENT_ENC_MODE_ABSOLUTE |
227 | default: { // MBNG_EVENT_ENC_MODE_ABSOLUTE |
228 | s32 ix_updated;
|
228 | s32 ix_updated;
|
229 |
|
229 | s16 prev_value = item.value; |
230 | if( (ix_updated=MBNG_EVENT_MapItemValueInc(item.map, &item, event_incrementer, 0)) >= 0 ) { |
230 | if( (ix_updated=MBNG_EVENT_MapItemValueInc(item.map, &item, event_incrementer, 0)) >= 0 ) { |
231 | dont_send = (prev_value == item.value) && !ix_updated; |
231 | dont_send = (prev_value == item.value) && !ix_updated; |
232 | } else { |
232 | } else { |
233 |
|
233 | s16 value = item.value; |
234 | if( item.min <= item.max ) { |
234 | if( item.min <= item.max ) { |
235 | value += event_incrementer; |
235 | value += event_incrementer; |
236 | if( value < item.min ) |
236 | if( value < item.min ) |
237 | value = item.min; |
237 | value = item.min; |
238 | else if( value > item.max ) |
238 | else if( value > item.max ) |
Line 240... | Line 240... | ||
240 | } else { |
240 | } else { |
241 | // reversed range
|
241 | // reversed range
|
242 | value -= event_incrementer; |
242 | value -= event_incrementer; |
243 | if( value < item.max ) |
243 | if( value < item.max ) |
244 | value = item.max; |
244 | value = item.max; |
245 | else if( value > item.min ) |
245 | else if( value > (s32)item.min ) |
246 | value = item.min; |
246 | value = item.min; |
247 | }
|
247 | }
|
248 | 248 | ||
249 | item.value = value; |
249 | item.value = value; |
250 | 250 |