struct audio_file_data {
enum play_mode current_play_mode;
+ char attributes_string[MAXLINE];
+ int fd;
long score;
struct afs_info afsi;
struct audio_format_info afhi;
char *path;
- struct osl_object map;
+};
+
+enum afs_server_code {
+ NEXT_AUDIO_FILE,
+ AFD_CHANGE
};
/** Flags passed to for_each_matching_row(). */
int stdin_command(int fd, struct osl_object *arg_obj, callback_function *f,
unsigned max_len, struct osl_object *result);
int string_compare(const struct osl_object *obj1, const struct osl_object *obj2);
-int open_next_audio_file(struct audio_file_data *afd);
int close_audio_file(struct audio_file_data *afd);
int for_each_matching_row(struct pattern_match_data *pmd);
void aft_init(struct afs_table *t);
int aft_get_row_of_path(const char *path, struct osl_row **row);
int open_and_update_audio_file(struct osl_row *aft_row, struct audio_file_data *afd);
+int load_afd(int shmid, struct audio_file_data *afd);
int load_afsi(struct afs_info *afsi, struct osl_object *obj);
void save_afsi(struct afs_info *afsi, struct osl_object *obj);
int get_afsi_of_row(const struct osl_row *row, struct afs_info *afsi);
/* mood */
int change_current_mood(char *mood_name);
+void close_current_mood(void);
int reload_current_mood(void);
int mood_check_callback(__a_unused const struct osl_object *query,
struct osl_object *result);
/* playlist */
int playlist_open(char *name);
+void playlist_close(void);
int playlist_update_audio_file(struct osl_row *aft_row);
int playlist_check_callback(__a_unused const struct osl_object *query,
struct osl_object *result);