/*
* CthulhuMud
*/
#define MAX_SONGS		20
#define MAX_MSTYLES		16
#define MAX_INSTRUMENTS	8
#define MAX_LINES	100 /* this boils down to about 1k per song */
#define MAX_GLOBAL	10  /* max songs the global jukebox can hold */
#define PULSE_MUSIC	( 6 * PULSE_PER_SECOND)
#define MUSIC_FILE	"../config/music.txt"
#define MSTYLE_FILE	"../config/musicstyle.txt"
#define ACV_MUSIC_SING	1
#define ACV_MUSIC_PLAY	2
struct song_data {
    char *group;
    char *name;
    char *lyrics[MAX_LINES];
    int lines;
};
extern struct song_data song_table[MAX_SONGS];
struct mstyle_data {
    char	*name;
    char 	*title;
    bool 	instr[MAX_INSTRUMENTS];
    int 	diff;
    int	volume;
    bool 	loaded;
};
extern struct mstyle_data music_styles[MAX_MSTYLES];
void 		song_update 		(void);
void 		load_songs		(void);
void 		load_mstyles		(void);
int 		calculate_music_effect	(CHAR_DATA *ch, OBJ_DATA *instrument);
int 		instrument_skill		(OBJ_DATA *instrument);
int 		get_room_music		(ROOM_INDEX_DATA *room, int style);
int 		music_number		(char *name);
void 		evaluate_eff		(CHAR_DATA *ch, int eff);