annotate foosdk/sdk/foobar2000/SDK/menu_helpers.h @ 1:20d02a178406 default tip

*: check in everything else yay
author Paper <paper@tflc.us>
date Mon, 05 Jan 2026 02:15:46 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
1 #pragma once
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
2 #include "menu.h"
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
3 #include "contextmenu.h"
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
4
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
5 namespace menu_helpers {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
6 #ifdef _WIN32
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
7 void win32_auto_mnemonics(HMENU menu);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
8 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
9
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
10 bool run_command_context(const GUID & p_command,const GUID & p_subcommand,const pfc::list_base_const_t<metadb_handle_ptr> & data);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
11 bool run_command_context_ex(const GUID & p_command,const GUID & p_subcommand,const pfc::list_base_const_t<metadb_handle_ptr> & data,const GUID & caller);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
12 bool run_command_context_playlist(const GUID & p_command,const GUID & p_subcommand);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
13 bool run_command_context_now_playing(const GUID & p_command,const GUID & p_subcommand);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
14
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
15 bool test_command_context(const GUID & p_guid);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
16
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
17 bool is_command_checked_context(const GUID & p_command,const GUID & p_subcommand,const pfc::list_base_const_t<metadb_handle_ptr> & data);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
18 bool is_command_checked_context_playlist(const GUID & p_command,const GUID & p_subcommand);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
19
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
20 bool find_command_by_name(const char * p_name,service_ptr_t<contextmenu_item> & p_item,unsigned & p_index);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
21 bool find_command_by_name(const char * p_name,GUID & p_command);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
22
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
23 bool context_get_description(const GUID& p_guid,pfc::string_base & out);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
24
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
25 bool guid_from_name(const char * p_name,unsigned p_name_len,GUID & p_out);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
26 bool name_from_guid(const GUID & p_guid,pfc::string_base & p_out);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
27
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
28 class guid_to_name_table
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
29 {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
30 public:
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
31 guid_to_name_table();
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
32 ~guid_to_name_table();
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
33 const char * search(const GUID & p_guid);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
34 private:
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
35 struct entry {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
36 char* m_name;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
37 GUID m_guid;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
38 };
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
39 pfc::array_t<entry> m_data;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
40 bool m_inited;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
41
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
42 static int entry_compare_search(const entry & entry1,const GUID & entry2);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
43 static int entry_compare(const entry & entry1,const entry & entry2);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
44 };
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
45
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
46 class name_to_guid_table
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
47 {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
48 public:
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
49 name_to_guid_table();
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
50 ~name_to_guid_table();
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
51 bool search(const char * p_name,unsigned p_name_len,GUID & p_out);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
52 private:
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
53 struct entry {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
54 char* m_name;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
55 GUID m_guid;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
56 };
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
57 pfc::array_t<entry> m_data;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
58 bool m_inited;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
59 struct search_entry {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
60 const char * m_name; unsigned m_name_len;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
61 };
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
62
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
63 static int entry_compare_search(const entry & entry1,const search_entry & entry2);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
64 static int entry_compare(const entry & entry1,const entry & entry2);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
65 };
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
66
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
67 };
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
68
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
69
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
70
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
71 class standard_commands
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
72 {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
73 public:
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
74 static const GUID
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
75 guid_context_file_properties, guid_context_file_open_directory, guid_context_copy_names,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
76 guid_context_send_to_playlist, guid_context_reload_info, guid_context_reload_info_if_changed,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
77 guid_context_rewrite_info, guid_context_remove_tags,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
78 guid_context_convert_run, guid_context_convert_run_singlefile,guid_context_convert_run_withcue,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
79 guid_context_write_cd,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
80 guid_context_rg_scan_track, guid_context_rg_scan_album, guid_context_rg_scan_album_multi,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
81 guid_context_rg_remove, guid_context_save_playlist, guid_context_masstag_edit,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
82 guid_context_masstag_rename,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
83 guid_main_always_on_top, guid_main_preferences, guid_main_about,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
84 guid_main_exit, guid_main_restart, guid_main_activate,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
85 guid_main_hide, guid_main_activate_or_hide, guid_main_titleformat_help,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
86 guid_main_next, guid_main_previous,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
87 guid_main_next_or_random, guid_main_random, guid_main_pause,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
88 guid_main_play, guid_main_play_or_pause, guid_main_rg_set_album,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
89 guid_main_rg_set_track, guid_main_rg_disable, guid_main_rg_byorder,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
90 guid_main_stop,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
91 guid_main_stop_after_current, guid_main_volume_down, guid_main_volume_up,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
92 guid_main_volume_mute, guid_main_add_directory, guid_main_add_files,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
93 guid_main_add_location, guid_main_add_playlist, guid_main_clear_playlist,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
94 guid_main_create_playlist, guid_main_highlight_playing, guid_main_load_playlist,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
95 guid_main_next_playlist, guid_main_previous_playlist, guid_main_open,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
96 guid_main_remove_playlist, guid_main_remove_dead_entries, guid_main_remove_duplicates,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
97 guid_main_rename_playlist, guid_main_save_all_playlists, guid_main_save_playlist,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
98 guid_main_playlist_search, guid_main_playlist_sel_crop, guid_main_playlist_sel_remove,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
99 guid_main_playlist_sel_invert, guid_main_playlist_undo, guid_main_show_console,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
100 guid_main_play_cd, guid_main_restart_resetconfig, guid_main_record,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
101 guid_main_playlist_moveback, guid_main_playlist_moveforward, guid_main_playlist_redo,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
102 guid_main_playback_follows_cursor, guid_main_cursor_follows_playback, guid_main_saveconfig,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
103 guid_main_playlist_select_all, guid_main_show_now_playing,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
104
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
105 guid_seek_ahead_1s, guid_seek_ahead_5s, guid_seek_ahead_10s, guid_seek_ahead_30s,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
106 guid_seek_ahead_1min, guid_seek_ahead_2min, guid_seek_ahead_5min, guid_seek_ahead_10min,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
107
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
108 guid_seek_back_1s, guid_seek_back_5s, guid_seek_back_10s, guid_seek_back_30s,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
109 guid_seek_back_1min, guid_seek_back_2min, guid_seek_back_5min, guid_seek_back_10min,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
110
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
111 guid_library_configure, guid_library_rescan,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
112 guid_internet_radio
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
113 ;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
114
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
115 static bool run_main(const GUID & guid);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
116 static inline bool run_context(const GUID & guid,const pfc::list_base_const_t<metadb_handle_ptr> &data) {return menu_helpers::run_command_context(guid,pfc::guid_null,data);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
117 static inline bool run_context(const GUID & guid,const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller) {return menu_helpers::run_command_context_ex(guid,pfc::guid_null,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
118
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
119 static inline bool context_file_properties(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_file_properties,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
120 static inline bool context_file_open_directory(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_file_open_directory,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
121 static inline bool context_copy_names(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_copy_names,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
122 static inline bool context_send_to_playlist(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_send_to_playlist,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
123 static inline bool context_reload_info(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_reload_info,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
124 static inline bool context_reload_info_if_changed(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_reload_info_if_changed,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
125 static inline bool context_rewrite_info(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_rewrite_info,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
126 static inline bool context_remove_tags(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_remove_tags,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
127 static inline bool context_convert_run(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_convert_run,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
128 static inline bool context_convert_run_singlefile(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_convert_run_singlefile,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
129 static inline bool context_write_cd(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_write_cd,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
130 static inline bool context_rg_scan_track(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_rg_scan_track,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
131 static inline bool context_rg_scan_album(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_rg_scan_album,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
132 static inline bool context_rg_scan_album_multi(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_rg_scan_album_multi,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
133 static inline bool context_rg_remove(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_rg_remove,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
134 static inline bool context_save_playlist(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_save_playlist,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
135 static inline bool context_masstag_edit(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_masstag_edit,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
136 static inline bool context_masstag_rename(const pfc::list_base_const_t<metadb_handle_ptr> &data,const GUID& caller = contextmenu_item::caller_undefined) {return run_context(guid_context_masstag_rename,data,caller);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
137 static inline bool main_always_on_top() {return run_main(guid_main_always_on_top);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
138 static inline bool main_preferences() {return run_main(guid_main_preferences);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
139 static inline bool main_about() {return run_main(guid_main_about);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
140 static inline bool main_exit() {return run_main(guid_main_exit);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
141 static inline bool main_restart() {return run_main(guid_main_restart);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
142 static inline bool main_activate() {return run_main(guid_main_activate);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
143 static inline bool main_hide() {return run_main(guid_main_hide);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
144 static inline bool main_activate_or_hide() {return run_main(guid_main_activate_or_hide);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
145 static inline bool main_titleformat_help() {return run_main(guid_main_titleformat_help);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
146 static inline bool main_playback_follows_cursor() {return run_main(guid_main_playback_follows_cursor);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
147 static inline bool main_next() {return run_main(guid_main_next);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
148 static inline bool main_previous() {return run_main(guid_main_previous);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
149 static inline bool main_next_or_random() {return run_main(guid_main_next_or_random);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
150 static inline bool main_random() {return run_main(guid_main_random);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
151 static inline bool main_pause() {return run_main(guid_main_pause);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
152 static inline bool main_play() {return run_main(guid_main_play);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
153 static inline bool main_play_or_pause() {return run_main(guid_main_play_or_pause);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
154 static inline bool main_rg_set_album() {return run_main(guid_main_rg_set_album);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
155 static inline bool main_rg_set_track() {return run_main(guid_main_rg_set_track);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
156 static inline bool main_rg_disable() {return run_main(guid_main_rg_disable);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
157 static inline bool main_stop() {return run_main(guid_main_stop);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
158 static inline bool main_stop_after_current() {return run_main(guid_main_stop_after_current);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
159 static inline bool main_volume_down() {return run_main(guid_main_volume_down);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
160 static inline bool main_volume_up() {return run_main(guid_main_volume_up);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
161 static inline bool main_volume_mute() {return run_main(guid_main_volume_mute);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
162 static inline bool main_add_directory() {return run_main(guid_main_add_directory);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
163 static inline bool main_add_files() {return run_main(guid_main_add_files);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
164 static inline bool main_add_location() {return run_main(guid_main_add_location);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
165 static inline bool main_add_playlist() {return run_main(guid_main_add_playlist);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
166 static inline bool main_clear_playlist() {return run_main(guid_main_clear_playlist);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
167 static inline bool main_create_playlist() {return run_main(guid_main_create_playlist);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
168 static inline bool main_highlight_playing() {return run_main(guid_main_highlight_playing);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
169 static inline bool main_load_playlist() {return run_main(guid_main_load_playlist);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
170 static inline bool main_next_playlist() {return run_main(guid_main_next_playlist);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
171 static inline bool main_previous_playlist() {return run_main(guid_main_previous_playlist);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
172 static inline bool main_open() {return run_main(guid_main_open);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
173 static inline bool main_remove_playlist() {return run_main(guid_main_remove_playlist);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
174 static inline bool main_remove_dead_entries() {return run_main(guid_main_remove_dead_entries);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
175 static inline bool main_remove_duplicates() {return run_main(guid_main_remove_duplicates);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
176 static inline bool main_rename_playlist() {return run_main(guid_main_rename_playlist);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
177 static inline bool main_save_all_playlists() {return run_main(guid_main_save_all_playlists);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
178 static inline bool main_save_playlist() {return run_main(guid_main_save_playlist);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
179 static inline bool main_playlist_search() {return run_main(guid_main_playlist_search);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
180 static inline bool main_playlist_sel_crop() {return run_main(guid_main_playlist_sel_crop);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
181 static inline bool main_playlist_sel_remove() {return run_main(guid_main_playlist_sel_remove);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
182 static inline bool main_playlist_sel_invert() {return run_main(guid_main_playlist_sel_invert);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
183 static inline bool main_playlist_undo() {return run_main(guid_main_playlist_undo);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
184 static inline bool main_show_console() {return run_main(guid_main_show_console);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
185 static inline bool main_play_cd() {return run_main(guid_main_play_cd);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
186 static inline bool main_restart_resetconfig() {return run_main(guid_main_restart_resetconfig);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
187 static inline bool main_playlist_moveback() {return run_main(guid_main_playlist_moveback);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
188 static inline bool main_playlist_moveforward() {return run_main(guid_main_playlist_moveforward);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
189 static inline bool main_saveconfig() {return run_main(guid_main_saveconfig);}
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
190 };
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
191
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
192 namespace fb2k {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
193 // Turn sentence-capitalized into title-capitalized if needed
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
194 // No-op on systems using sentence capitalization
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
195 void capitalizeMenuLabel( pfc::string_base & inOut );
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
196 }