136 lines
4.7 KiB
C
136 lines
4.7 KiB
C
|
//+-------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
//
|
||
|
// Copyright (c) 1998-1998 Microsoft Corporation
|
||
|
//
|
||
|
// File: sjdefs.h
|
||
|
//
|
||
|
//--------------------------------------------------------------------------
|
||
|
|
||
|
#ifndef __SJ_DEFINES_H__
|
||
|
#define __SJ_DEFINES_H__
|
||
|
|
||
|
//#define DEFAULT_STYLE_PATH "\\multim~1\\music\\intera~1\\"
|
||
|
|
||
|
// Score defines
|
||
|
|
||
|
#define VNUM 16 // Total number of variations
|
||
|
#define LAST_INSTR 5 // Total number of displayed instr minus 1
|
||
|
#define MAX_OUTS 6 // Max MIDI out devices supported
|
||
|
|
||
|
#define EDITMODES 3
|
||
|
#define MODE_ALLCHORDS 4
|
||
|
#define MODE_FATCHORDS 8
|
||
|
|
||
|
#define BAND_NAME_SIZE 15
|
||
|
#define SECTION_NAME_SIZE 15
|
||
|
#define SONG_NAME_SIZE 20
|
||
|
#define FILTER_SIZE 40
|
||
|
#define TITLE_SIZE 60
|
||
|
#define SMALLEST_OFFSET 96
|
||
|
#define ERRORTEXT_SIZE 100
|
||
|
#define FILENAME_SIZE 256
|
||
|
#define FILENAMES_SIZE 512
|
||
|
|
||
|
#define BUFFER_SIZE 400
|
||
|
|
||
|
#define EVENT_FREED 0x35
|
||
|
#define EVENT_REMOVE 0x5A
|
||
|
#define EVENT_VOICE 1 // Performance event
|
||
|
#define EVENT_REALTIME 2 // qevent() must invoke interrupt
|
||
|
#define EVENT_ONTIME 3 // event should be handled on time
|
||
|
|
||
|
#define FROM_MIDIINPUT 2 // MIDI input
|
||
|
#define DEST_MSG 3 // Post message to app
|
||
|
#define DEST_MIDIOUT 4 // Routed to MIDI mapper
|
||
|
#define DEST_COMPOSER 5 // Routed to composition code
|
||
|
#define DEST_TEMPO 6 // Routed to tempo change code
|
||
|
#define DEST_VOLUME 7 // Routed to volume change code
|
||
|
#define DEST_RTEMPO 8 // Routed to relative tempo change code
|
||
|
#define DEST_RVOLUME 9 // Routed to relative volume change code
|
||
|
#define DEST_REMOVE 10 // Routed to remove code (freeevent)
|
||
|
#define DEST_METRONOME 11 // Routed to metronome code
|
||
|
#define DEST_ENDMOTIF 12 // ends a motif and frees its channels in use
|
||
|
#define DEST_MIDIFILE 13 // Source was a MIDI file, convert to DEST_MIDIOUT
|
||
|
|
||
|
#define NB_OFFSET 0x3 // Offset note up to 7 clicks early
|
||
|
|
||
|
#define PF_FILL 0x0001 // Fill pattern
|
||
|
#define PF_START 0x0002 // May be starting pattern
|
||
|
#define PF_INTRO 0x0002
|
||
|
#define PF_WHOLE 0x0004 // Handles chords on measures
|
||
|
#define PF_HALF 0x0008 // Chords every two beats
|
||
|
#define PF_QUARTER 0x0010 // Chords on beats
|
||
|
#define PF_BREAK 0x0020
|
||
|
#define PF_END 0x0040
|
||
|
#define PF_A 0x0080
|
||
|
#define PF_B 0x0100
|
||
|
#define PF_C 0x0200
|
||
|
#define PF_D 0x0400
|
||
|
#define PF_E 0x0800
|
||
|
#define PF_F 0x1000
|
||
|
#define PF_G 0x2000
|
||
|
#define PF_H 0x10000
|
||
|
#define PF_STOPNOW 0x4000
|
||
|
#define PF_INRIFF 0x8000
|
||
|
#define PF_MOTIF 0x20000 // this pattern is a motif, not a regular pattern
|
||
|
#define PF_BEATS ( PF_WHOLE | PF_HALF | PF_QUARTER )
|
||
|
#define PF_RIFF ( PF_INTRO | PF_BREAK | PF_FILL | PF_END )
|
||
|
#define PF_GROOVE ( PF_A | PF_B | PF_C | PF_D | PF_E | PF_F | PF_G | PF_H )
|
||
|
|
||
|
|
||
|
#define C_FILL 1 // Do a fill
|
||
|
#define C_INTRO 2 // Do an intro
|
||
|
#define C_BREAK 3 // Do a drum break
|
||
|
#define C_END 4 // End the song
|
||
|
|
||
|
//#define NEXTCHORD_SIZE (sizeof(NextChrd)-sizeof(LPNEXTCHRD)-sizeof(LPCHRDENTRY))
|
||
|
//#define CHORDENTRY_SIZE (sizeof(ChordExt)-sizeof(LPCHORDEXT)+sizeof(unsigned long)+sizeof(short))
|
||
|
|
||
|
#define CE_SELECTED 1 // This is the active chord.
|
||
|
#define CE_START 2
|
||
|
#define CE_END 4
|
||
|
#define CE_MEASURE 8
|
||
|
#define CE_PATH 16
|
||
|
#define CE_TREE 32
|
||
|
|
||
|
|
||
|
// Section Flags
|
||
|
#define SECF_STOPPED_EARLY 0x0001
|
||
|
#define SECF_IS_TRANSITION 0x0002
|
||
|
|
||
|
// chord types for use by each instrument in a pattern
|
||
|
// Chord types for use by each instrument in a pattern
|
||
|
enum
|
||
|
{
|
||
|
CHTYPE_NOTINITIALIZED = 0,
|
||
|
CHTYPE_DRUM, // superceded by CHTYPE_FIXED
|
||
|
// no longer in Note Dialog's combo box selections
|
||
|
// no longer in Pattern Dialog's combo box selections
|
||
|
CHTYPE_BASS, // scale + lower chord
|
||
|
CHTYPE_UPPER, // scale + upper chord
|
||
|
CHTYPE_SCALEONLY, // scale, no chord
|
||
|
CHTYPE_BASSMELODIC,
|
||
|
CHTYPE_UPPERMELODIC,
|
||
|
CHTYPE_NONE, // Ignored on Pattern Dialog's menu selections.
|
||
|
CHTYPE_FIXED
|
||
|
};
|
||
|
|
||
|
#define VF_SCALE 0x7F // Seven positions in the scale
|
||
|
#define VF_ACCIDENTAL 0x80 // Handles chords outside of scale
|
||
|
#define VF_MAJOR 0x100 // Handles major chords
|
||
|
#define VF_MINOR 0x200 // Handles minor chords
|
||
|
#define VF_ALL 0x400 // Handles all chord types
|
||
|
#define VF_TO1 0x800 // Handles transitions to 1 chord
|
||
|
#define VF_TO5 0x1000 // Handles transitions to 5 chord
|
||
|
#define VF_SIMPLE 0x2000 // handles simple chords
|
||
|
#define VF_COMPLEX 0x4000 // handles complex chords
|
||
|
|
||
|
// this expects a voiceid from 1-16
|
||
|
#define VOICEID_TO_CHANNEL( id ) ((DWORD) ( ( id + 3 ) & 0xf ))
|
||
|
|
||
|
#pragma pack()
|
||
|
|
||
|
#endif // __SJ_DEFINES_H__
|