+################################################################## status items
+
+status_items="basename status num_played mtime bitrate frequency file_size
+status_flags format score audio_file_info taginfo1 taginfo2 afs_mode
+attributes_txt decoder_flags audiod_status play_time attributes_bitmap
+offset seconds_total stream_start current_time audiod_uptime image_id
+lyrics_id duration directory lyrics_name image_name path hash channels
+last_played num_chunks chunk_time"
+
+# $1: prefix, $2: items
+AC_DEFUN([make_enum_items], [$(
+ for i in $2; do
+ printf "$1_$(echo $i | tr 'a-z' 'A-Z'), "
+ done
+)])
+
+# $1: prefix, $2: items
+AC_DEFUN([make_enum_array], [$(
+ for i in $2; do
+ printf "\"$i\", "
+ done
+)])
+
+AC_DEFINE_UNQUOTED(STATUS_ITEM_ENUM,
+ make_enum_items(SI, $status_items),
+ [enum of all status items]
+)
+AC_DEFINE_UNQUOTED(STATUS_ITEM_ARRAY,
+ make_enum_array(SI, $status_items),
+ [char * array of all status items]
+)
+