Subversion Repositories svn.mios32

Rev

Rev 2464 | Rev 2523 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2464 Rev 2465
Line 1... Line 1...
1
// $Id: seq_core.h 2464 2016-12-20 18:06:25Z tk $
1
// $Id: seq_core.h 2465 2016-12-20 18:54:40Z tk $
2
/*
2
/*
3
 * Header file for core routines
3
 * Header file for core routines
4
 *
4
 *
5
 * ==========================================================================
5
 * ==========================================================================
6
 *
6
 *
Line 76... Line 76...
76
    u16 SUSTAINED:1;    // sustained note
76
    u16 SUSTAINED:1;    // sustained note
77
    u16 ROBOSUSTAINED:1;  // events are temporarily sustained by the robotizer
77
    u16 ROBOSUSTAINED:1;  // events are temporarily sustained by the robotizer
78
    u16 STRETCHED_GL:1; // stretched gatelength
78
    u16 STRETCHED_GL:1; // stretched gatelength
79
    u16 MANUAL_STEP_REQ:1; // manual_step should be copied to step
79
    u16 MANUAL_STEP_REQ:1; // manual_step should be copied to step
80
    u16 CANCEL_SUSTAIN_REQ:1; // cancel ongoing sustain
80
    u16 CANCEL_SUSTAIN_REQ:1; // cancel ongoing sustain
-
 
81
    u16 TRIGGER_NEXT_STEP_REQ:1; // to continue with next step in STEP_TRG mode; flag is set by transposer
81
  };
82
  };
82
} seq_core_trk_state_t;
83
} seq_core_trk_state_t;
83
84
84
85
85
typedef struct seq_core_trk_t {
86
typedef struct seq_core_trk_t {
Line 167... Line 168...
167
    u8 HOLD:1;         // hold mode for transposer/arpeggiator
168
    u8 HOLD:1;         // hold mode for transposer/arpeggiator
168
    u8 RESTART:1;      // track restart on key press
169
    u8 RESTART:1;      // track restart on key press
169
    u8 FORCE_SCALE:1;  // note values are forced to scale
170
    u8 FORCE_SCALE:1;  // note values are forced to scale
170
    u8 SUSTAIN:1;      // events are sustained because SUSTAIN is set as active on the track
171
    u8 SUSTAIN:1;      // events are sustained because SUSTAIN is set as active on the track
171
    u8 FIRST_NOTE:1;   // transposer takes the first played note instead of the last one
172
    u8 FIRST_NOTE:1;   // transposer takes the first played note instead of the last one
-
 
173
    u8 STEP_TRG:1;     // next step has to be triggered from transposer (e.g. via loopback track or external keyboard)
172
  };
174
  };
173
} seq_core_trkmode_flags_t;
175
} seq_core_trkmode_flags_t;
174
176
175
typedef enum {
177
typedef enum {
176
  SEQ_CORE_FX_MIDI_MODE_BEH_Forward,   // forward to all channels
178
  SEQ_CORE_FX_MIDI_MODE_BEH_Forward,   // forward to all channels
Line 244... Line 246...
244
extern s32 SEQ_CORE_ResetTrkPosAll(void);
246
extern s32 SEQ_CORE_ResetTrkPosAll(void);
245
extern s32 SEQ_CORE_SetTrkPos(u8 track, u8 value, u8 scale_value);
247
extern s32 SEQ_CORE_SetTrkPos(u8 track, u8 value, u8 scale_value);
246
248
247
extern s32 SEQ_CORE_ManualTrigger(u8 step);
249
extern s32 SEQ_CORE_ManualTrigger(u8 step);
248
extern s32 SEQ_CORE_ManualSynchToMeasure(u16 tracks);
250
extern s32 SEQ_CORE_ManualSynchToMeasure(u16 tracks);
-
 
251
-
 
252
extern s32 SEQ_CORE_StepTriggerReq(u8 bus);
249
253
250
extern s32 SEQ_CORE_NotifyIncomingMIDIEvent(u8 track, mios32_midi_package_t p);
254
extern s32 SEQ_CORE_NotifyIncomingMIDIEvent(u8 track, mios32_midi_package_t p);
251
255
252
extern s32 SEQ_CORE_AddForwardDelay(u16 delay_ms);
256
extern s32 SEQ_CORE_AddForwardDelay(u16 delay_ms);
253
257