1 /***************************************************************************
2 * Copyright (C) 2008-2016 by Andrzej Rybczak *
3 * electricityispower@gmail.com *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. *
19 ***************************************************************************/
21 #ifndef NCMPCPP_ACTIONS_H
22 #define NCMPCPP_ACTIONS_H
24 #include <boost/date_time/posix_time/posix_time_types.hpp>
25 #include <boost/format.hpp>
28 #include "interfaces.h"
31 // forward declarations
53 JumpToParentDirectory
,
76 MoveSelectedItemsDown
,
82 ToggleSeparatorsBetweenAlbums
,
83 ToggleLyricsUpdateOnSongChange
,
85 ToggleFetchingLyricsInBackground
,
86 TogglePlayingSongCentering
,
108 JumpToPlaylistEditor
,
111 JumpToPositionInSong
,
132 ToggleReplayGainMode
,
135 ToggleBitrateVisibility
,
137 ToggleBrowserSortMode
,
138 ToggleLibraryTagType
,
139 ToggleMediaLibrarySortMode
,
140 FetchLyricsInBackground
,
142 SetSelectedItemsPriority
,
144 ToggleVisualizationType
,
145 SetVisualizerSampleMultiplier
,
159 ToggleMediaLibraryColumnsMode
,
166 _numberOfActions
// needed to dynamically calculate size of action array
169 void validateScreenSize();
170 void initializeScreens();
171 void setResizeFlags();
172 void resizeScreen(bool reload_main_window
);
173 void setWindowsDimensions();
175 void confirmAction(const boost::format
&description
);
176 inline void confirmAction(const std::string
&description
)
178 confirmAction(boost::format(description
));
181 bool isMPDMusicDirSet();
183 extern bool OriginalStatusbarVisibility
;
184 extern bool ExitMainLoop
;
186 extern size_t HeaderHeight
;
187 extern size_t FooterHeight
;
188 extern size_t FooterStartY
;
192 BaseAction(Type type_
, const char *name_
): m_name(name_
), m_type(type_
) { }
194 const std::string
&name() const { return m_name
; }
195 Type
type() const { return m_type
; }
197 virtual bool canBeRun() { return true; }
213 virtual void run() = 0;
218 BaseAction
&get(Type at
);
219 BaseAction
*get(const std::string
&name
);
221 struct Dummy
: BaseAction
223 Dummy(): BaseAction(Type::Dummy
, "dummy") { }
226 virtual void run() override
{ }
229 struct UpdateEnvironment
: BaseAction
233 void run(bool update_status
, bool refresh_window
);
236 boost::posix_time::ptime m_past
;
238 virtual void run() override
;
241 struct MouseEvent
: BaseAction
243 MouseEvent(): BaseAction(Type::MouseEvent
, "mouse_event")
245 m_old_mouse_event
.bstate
= 0;
246 m_mouse_event
.bstate
= 0;
250 virtual bool canBeRun() override
;
251 virtual void run() override
;
253 MEVENT m_mouse_event
;
254 MEVENT m_old_mouse_event
;
257 struct ScrollUp
: BaseAction
259 ScrollUp(): BaseAction(Type::ScrollUp
, "scroll_up") { }
262 virtual void run() override
;
265 struct ScrollDown
: BaseAction
267 ScrollDown(): BaseAction(Type::ScrollDown
, "scroll_down") { }
270 virtual void run() override
;
273 struct ScrollUpArtist
: BaseAction
275 ScrollUpArtist(): BaseAction(Type::ScrollUpArtist
, "scroll_up_artist") { }
278 virtual bool canBeRun() override
;
279 virtual void run() override
;
285 struct ScrollUpAlbum
: BaseAction
287 ScrollUpAlbum(): BaseAction(Type::ScrollUpAlbum
, "scroll_up_album") { }
290 virtual bool canBeRun() override
;
291 virtual void run() override
;
297 struct ScrollDownArtist
: BaseAction
299 ScrollDownArtist(): BaseAction(Type::ScrollDownArtist
, "scroll_down_artist") { }
302 virtual bool canBeRun() override
;
303 virtual void run() override
;
309 struct ScrollDownAlbum
: BaseAction
311 ScrollDownAlbum(): BaseAction(Type::ScrollDownAlbum
, "scroll_down_album") { }
314 virtual bool canBeRun() override
;
315 virtual void run() override
;
321 struct PageUp
: BaseAction
323 PageUp(): BaseAction(Type::PageUp
, "page_up") { }
326 virtual void run() override
;
329 struct PageDown
: BaseAction
331 PageDown(): BaseAction(Type::PageDown
, "page_down") { }
334 virtual void run() override
;
337 struct MoveHome
: BaseAction
339 MoveHome(): BaseAction(Type::MoveHome
, "move_home") { }
342 virtual void run() override
;
345 struct MoveEnd
: BaseAction
347 MoveEnd(): BaseAction(Type::MoveEnd
, "move_end") { }
350 virtual void run() override
;
353 struct ToggleInterface
: BaseAction
355 ToggleInterface(): BaseAction(Type::ToggleInterface
, "toggle_interface") { }
358 virtual void run() override
;
361 struct JumpToParentDirectory
: BaseAction
363 JumpToParentDirectory(): BaseAction(Type::JumpToParentDirectory
, "jump_to_parent_directory") { }
366 virtual bool canBeRun() override
;
367 virtual void run() override
;
370 struct RunAction
: BaseAction
372 RunAction(): BaseAction(Type::RunAction
, "run_action") { }
375 virtual bool canBeRun() override
;
376 virtual void run() override
;
381 struct PreviousColumn
: BaseAction
383 PreviousColumn(): BaseAction(Type::PreviousColumn
, "previous_column") { }
386 virtual bool canBeRun() override
;
387 virtual void run() override
;
392 struct NextColumn
: BaseAction
394 NextColumn(): BaseAction(Type::NextColumn
, "next_column") { }
397 virtual bool canBeRun() override
;
398 virtual void run() override
;
403 struct MasterScreen
: BaseAction
405 MasterScreen(): BaseAction(Type::MasterScreen
, "master_screen") { }
408 virtual bool canBeRun() override
;
409 virtual void run() override
;
412 struct SlaveScreen
: BaseAction
414 SlaveScreen(): BaseAction(Type::SlaveScreen
, "slave_screen") { }
417 virtual bool canBeRun() override
;
418 virtual void run() override
;
421 struct VolumeUp
: BaseAction
423 VolumeUp(): BaseAction(Type::VolumeUp
, "volume_up") { }
426 virtual void run() override
;
429 struct VolumeDown
: BaseAction
431 VolumeDown(): BaseAction(Type::VolumeDown
, "volume_down") { }
434 virtual void run() override
;
437 struct AddItemToPlaylist
: BaseAction
439 AddItemToPlaylist(): BaseAction(Type::AddItemToPlaylist
, "add_item_to_playlist") { }
442 virtual bool canBeRun() override
;
443 virtual void run() override
;
448 struct PlayItem
: BaseAction
450 PlayItem(): BaseAction(Type::PlayItem
, "play_item") { }
453 virtual bool canBeRun() override
;
454 virtual void run() override
;
459 struct DeletePlaylistItems
: BaseAction
461 DeletePlaylistItems(): BaseAction(Type::DeletePlaylistItems
, "delete_playlist_items") { }
464 virtual bool canBeRun() override
;
465 virtual void run() override
;
468 struct DeleteStoredPlaylist
: BaseAction
470 DeleteStoredPlaylist(): BaseAction(Type::DeleteStoredPlaylist
, "delete_stored_playlist") { }
473 virtual bool canBeRun() override
;
474 virtual void run() override
;
477 struct DeleteBrowserItems
: BaseAction
479 DeleteBrowserItems(): BaseAction(Type::DeleteBrowserItems
, "delete_browser_items") { }
482 virtual bool canBeRun() override
;
483 virtual void run() override
;
486 struct ReplaySong
: BaseAction
488 ReplaySong(): BaseAction(Type::ReplaySong
, "replay_song") { }
491 virtual void run() override
;
494 struct PreviousSong
: BaseAction
496 PreviousSong(): BaseAction(Type::Previous
, "previous") { }
499 virtual void run() override
;
502 struct NextSong
: BaseAction
504 NextSong(): BaseAction(Type::Next
, "next") { }
507 virtual void run() override
;
510 struct Pause
: BaseAction
512 Pause(): BaseAction(Type::Pause
, "pause") { }
515 virtual void run() override
;
518 struct Stop
: BaseAction
520 Stop(): BaseAction(Type::Stop
, "stop") { }
523 virtual void run() override
;
526 struct ExecuteCommand
: BaseAction
528 ExecuteCommand(): BaseAction(Type::ExecuteCommand
, "execute_command") { }
531 virtual void run() override
;
534 struct SavePlaylist
: BaseAction
536 SavePlaylist(): BaseAction(Type::SavePlaylist
, "save_playlist") { }
539 virtual void run() override
;
542 struct MoveSortOrderUp
: BaseAction
544 MoveSortOrderUp(): BaseAction(Type::MoveSortOrderUp
, "move_sort_order_up") { }
547 virtual bool canBeRun() override
;
548 virtual void run() override
;
551 struct MoveSortOrderDown
: BaseAction
553 MoveSortOrderDown(): BaseAction(Type::MoveSortOrderDown
, "move_sort_order_down") { }
556 virtual bool canBeRun() override
;
557 virtual void run() override
;
560 struct MoveSelectedItemsUp
: BaseAction
562 MoveSelectedItemsUp(): BaseAction(Type::MoveSelectedItemsUp
, "move_selected_items_up") { }
565 virtual bool canBeRun() override
;
566 virtual void run() override
;
569 struct MoveSelectedItemsDown
: BaseAction
571 MoveSelectedItemsDown(): BaseAction(Type::MoveSelectedItemsDown
, "move_selected_items_down") { }
574 virtual bool canBeRun() override
;
575 virtual void run() override
;
578 struct MoveSelectedItemsTo
: BaseAction
580 MoveSelectedItemsTo(): BaseAction(Type::MoveSelectedItemsTo
, "move_selected_items_to") { }
583 virtual bool canBeRun() override
;
584 virtual void run() override
;
587 struct Add
: BaseAction
589 Add(): BaseAction(Type::Add
, "add") { }
592 virtual bool canBeRun() override
;
593 virtual void run() override
;
596 struct SeekForward
: BaseAction
598 SeekForward(): BaseAction(Type::SeekForward
, "seek_forward") { }
601 virtual bool canBeRun() override
;
602 virtual void run() override
;
605 struct SeekBackward
: BaseAction
607 SeekBackward(): BaseAction(Type::SeekBackward
, "seek_backward") { }
610 virtual bool canBeRun() override
;
611 virtual void run() override
;
614 struct ToggleDisplayMode
: BaseAction
616 ToggleDisplayMode(): BaseAction(Type::ToggleDisplayMode
, "toggle_display_mode") { }
619 virtual bool canBeRun() override
;
620 virtual void run() override
;
623 struct ToggleSeparatorsBetweenAlbums
: BaseAction
625 ToggleSeparatorsBetweenAlbums()
626 : BaseAction(Type::ToggleSeparatorsBetweenAlbums
, "toggle_separators_between_albums") { }
629 virtual bool canBeRun() override
;
630 virtual void run() override
;
633 struct ToggleLyricsUpdateOnSongChange
: BaseAction
635 ToggleLyricsUpdateOnSongChange()
636 : BaseAction(Type::ToggleLyricsUpdateOnSongChange
, "toggle_lyrics_update_on_song_change") { }
639 virtual bool canBeRun() override
;
640 virtual void run() override
;
643 struct ToggleLyricsFetcher
: BaseAction
645 ToggleLyricsFetcher(): BaseAction(Type::ToggleLyricsFetcher
, "toggle_lyrics_fetcher") { }
648 virtual void run() override
;
651 struct ToggleFetchingLyricsInBackground
: BaseAction
653 ToggleFetchingLyricsInBackground()
654 : BaseAction(Type::ToggleFetchingLyricsInBackground
, "toggle_fetching_lyrics_in_background") { }
657 virtual void run() override
;
660 struct TogglePlayingSongCentering
: BaseAction
662 TogglePlayingSongCentering()
663 : BaseAction(Type::TogglePlayingSongCentering
, "toggle_playing_song_centering") { }
666 virtual void run() override
;
669 struct UpdateDatabase
: BaseAction
671 UpdateDatabase(): BaseAction(Type::UpdateDatabase
, "update_database") { }
674 virtual void run() override
;
677 struct JumpToPlayingSong
: BaseAction
679 JumpToPlayingSong(): BaseAction(Type::JumpToPlayingSong
, "jump_to_playing_song") { }
682 virtual bool canBeRun() override
;
683 virtual void run() override
;
686 struct ToggleRepeat
: BaseAction
688 ToggleRepeat(): BaseAction(Type::ToggleRepeat
, "toggle_repeat") { }
691 virtual void run() override
;
694 struct Shuffle
: BaseAction
696 Shuffle(): BaseAction(Type::Shuffle
, "shuffle") { }
699 virtual bool canBeRun() override
;
700 virtual void run() override
;
702 NC::Menu
<MPD::Song
>::ConstIterator m_begin
;
703 NC::Menu
<MPD::Song
>::ConstIterator m_end
;
706 struct ToggleRandom
: BaseAction
708 ToggleRandom(): BaseAction(Type::ToggleRandom
, "toggle_random") { }
711 virtual void run() override
;
714 struct StartSearching
: BaseAction
716 StartSearching(): BaseAction(Type::StartSearching
, "start_searching") { }
719 virtual bool canBeRun() override
;
720 virtual void run() override
;
723 struct SaveTagChanges
: BaseAction
725 SaveTagChanges(): BaseAction(Type::SaveTagChanges
, "save_tag_changes") { }
728 virtual bool canBeRun() override
;
729 virtual void run() override
;
732 struct ToggleSingle
: BaseAction
734 ToggleSingle(): BaseAction(Type::ToggleSingle
, "toggle_single") { }
737 virtual void run() override
;
740 struct ToggleConsume
: BaseAction
742 ToggleConsume(): BaseAction(Type::ToggleConsume
, "toggle_consume") { }
745 virtual void run() override
;
748 struct ToggleCrossfade
: BaseAction
750 ToggleCrossfade(): BaseAction(Type::ToggleCrossfade
, "toggle_crossfade") { }
753 virtual void run() override
;
756 struct SetCrossfade
: BaseAction
758 SetCrossfade(): BaseAction(Type::SetCrossfade
, "set_crossfade") { }
761 virtual void run() override
;
764 struct SetVolume
: BaseAction
766 SetVolume(): BaseAction(Type::SetVolume
, "set_volume") { }
769 virtual void run() override
;
772 struct EnterDirectory
: BaseAction
774 EnterDirectory(): BaseAction(Type::EnterDirectory
, "enter_directory") { }
777 virtual bool canBeRun() override
;
778 virtual void run() override
;
782 struct EditSong
: BaseAction
784 EditSong(): BaseAction(Type::EditSong
, "edit_song") { }
787 virtual bool canBeRun() override
;
788 virtual void run() override
;
791 const MPD::Song
*m_song
;
792 #endif // HAVE_TAGLIB_H
795 struct EditLibraryTag
: BaseAction
797 EditLibraryTag(): BaseAction(Type::EditLibraryTag
, "edit_library_tag") { }
800 virtual bool canBeRun() override
;
801 virtual void run() override
;
804 struct EditLibraryAlbum
: BaseAction
806 EditLibraryAlbum(): BaseAction(Type::EditLibraryAlbum
, "edit_library_album") { }
809 virtual bool canBeRun() override
;
810 virtual void run() override
;
813 struct EditDirectoryName
: BaseAction
815 EditDirectoryName(): BaseAction(Type::EditDirectoryName
, "edit_directory_name") { }
818 virtual bool canBeRun() override
;
819 virtual void run() override
;
822 struct EditPlaylistName
: BaseAction
824 EditPlaylistName(): BaseAction(Type::EditPlaylistName
, "edit_playlist_name") { }
827 virtual bool canBeRun() override
;
828 virtual void run() override
;
831 struct EditLyrics
: BaseAction
833 EditLyrics(): BaseAction(Type::EditLyrics
, "edit_lyrics") { }
836 virtual bool canBeRun() override
;
837 virtual void run() override
;
840 struct JumpToBrowser
: BaseAction
842 JumpToBrowser(): BaseAction(Type::JumpToBrowser
, "jump_to_browser") { }
845 virtual bool canBeRun() override
;
846 virtual void run() override
;
848 const MPD::Song
*m_song
;
851 struct JumpToMediaLibrary
: BaseAction
853 JumpToMediaLibrary(): BaseAction(Type::JumpToMediaLibrary
, "jump_to_media_library") { }
856 virtual bool canBeRun() override
;
857 virtual void run() override
;
859 const MPD::Song
*m_song
;
862 struct JumpToPlaylistEditor
: BaseAction
864 JumpToPlaylistEditor(): BaseAction(Type::JumpToPlaylistEditor
, "jump_to_playlist_editor") { }
867 virtual bool canBeRun() override
;
868 virtual void run() override
;
871 struct ToggleScreenLock
: BaseAction
873 ToggleScreenLock(): BaseAction(Type::ToggleScreenLock
, "toggle_screen_lock") { }
876 virtual void run() override
;
879 struct JumpToTagEditor
: BaseAction
881 JumpToTagEditor(): BaseAction(Type::JumpToTagEditor
, "jump_to_tag_editor") { }
884 virtual bool canBeRun() override
;
885 virtual void run() override
;
888 const MPD::Song
*m_song
;
889 #endif // HAVE_TAGLIB_H
892 struct JumpToPositionInSong
: BaseAction
894 JumpToPositionInSong(): BaseAction(Type::JumpToPositionInSong
, "jump_to_position_in_song") { }
897 virtual bool canBeRun() override
;
898 virtual void run() override
;
901 struct SelectItem
: BaseAction
903 SelectItem(): BaseAction(Type::SelectItem
, "select_item") { }
906 virtual bool canBeRun() override
;
907 virtual void run() override
;
912 struct SelectRange
: BaseAction
914 SelectRange(): BaseAction(Type::SelectRange
, "select_range") { }
917 virtual bool canBeRun() override
;
918 virtual void run() override
;
921 NC::List::Iterator m_begin
;
922 NC::List::Iterator m_end
;
925 struct ReverseSelection
: BaseAction
927 ReverseSelection(): BaseAction(Type::ReverseSelection
, "reverse_selection") { }
930 virtual bool canBeRun() override
;
931 virtual void run() override
;
936 struct RemoveSelection
: BaseAction
938 RemoveSelection(): BaseAction(Type::RemoveSelection
, "remove_selection") { }
941 virtual bool canBeRun() override
;
942 virtual void run() override
;
947 struct SelectAlbum
: BaseAction
949 SelectAlbum(): BaseAction(Type::SelectAlbum
, "select_album") { }
952 virtual bool canBeRun() override
;
953 virtual void run() override
;
959 struct SelectFoundItems
: BaseAction
961 SelectFoundItems(): BaseAction(Type::SelectFoundItems
, "select_found_items") { }
964 virtual bool canBeRun() override
;
965 virtual void run() override
;
968 Searchable
*m_searchable
;
971 struct AddSelectedItems
: BaseAction
973 AddSelectedItems(): BaseAction(Type::AddSelectedItems
, "add_selected_items") { }
976 virtual bool canBeRun() override
;
977 virtual void run() override
;
980 struct CropMainPlaylist
: BaseAction
982 CropMainPlaylist(): BaseAction(Type::CropMainPlaylist
, "crop_main_playlist") { }
985 virtual void run() override
;
988 struct CropPlaylist
: BaseAction
990 CropPlaylist(): BaseAction(Type::CropPlaylist
, "crop_playlist") { }
993 virtual bool canBeRun() override
;
994 virtual void run() override
;
997 struct ClearMainPlaylist
: BaseAction
999 ClearMainPlaylist(): BaseAction(Type::ClearMainPlaylist
, "clear_main_playlist") { }
1002 virtual void run() override
;
1005 struct ClearPlaylist
: BaseAction
1007 ClearPlaylist(): BaseAction(Type::ClearPlaylist
, "clear_playlist") { }
1010 virtual bool canBeRun() override
;
1011 virtual void run() override
;
1014 struct SortPlaylist
: BaseAction
1016 SortPlaylist(): BaseAction(Type::SortPlaylist
, "sort_playlist") { }
1019 virtual bool canBeRun() override
;
1020 virtual void run() override
;
1023 struct ReversePlaylist
: BaseAction
1025 ReversePlaylist(): BaseAction(Type::ReversePlaylist
, "reverse_playlist") { }
1028 virtual bool canBeRun() override
;
1029 virtual void run() override
;
1031 NC::Menu
<MPD::Song
>::ConstIterator m_begin
;
1032 NC::Menu
<MPD::Song
>::ConstIterator m_end
;
1035 struct ApplyFilter
: public BaseAction
1037 ApplyFilter(): BaseAction(Type::ApplyFilter
, "apply_filter") { }
1040 virtual bool canBeRun() override
;
1041 virtual void run() override
;
1043 Filterable
*m_filterable
;
1046 struct Find
: BaseAction
1048 Find(): BaseAction(Type::Find
, "find") { }
1051 virtual bool canBeRun() override
;
1052 virtual void run() override
;
1055 struct FindItemForward
: BaseAction
1057 FindItemForward(): BaseAction(Type::FindItemForward
, "find_item_forward") { }
1060 virtual bool canBeRun() override
;
1061 virtual void run() override
;
1064 struct FindItemBackward
: BaseAction
1066 FindItemBackward(): BaseAction(Type::FindItemBackward
, "find_item_backward") { }
1069 virtual bool canBeRun() override
;
1070 virtual void run() override
;
1073 struct NextFoundItem
: BaseAction
1075 NextFoundItem(): BaseAction(Type::NextFoundItem
, "next_found_item") { }
1078 virtual bool canBeRun() override
;
1079 virtual void run() override
;
1082 struct PreviousFoundItem
: BaseAction
1084 PreviousFoundItem(): BaseAction(Type::PreviousFoundItem
, "previous_found_item") { }
1087 virtual bool canBeRun() override
;
1088 virtual void run() override
;
1091 struct ToggleFindMode
: BaseAction
1093 ToggleFindMode(): BaseAction(Type::ToggleFindMode
, "toggle_find_mode") { }
1096 virtual void run() override
;
1099 struct ToggleReplayGainMode
: BaseAction
1101 ToggleReplayGainMode(): BaseAction(Type::ToggleReplayGainMode
, "toggle_replay_gain_mode") { }
1104 virtual void run() override
;
1107 struct ToggleAddMode
: BaseAction
1109 ToggleAddMode(): BaseAction(Type::ToggleAddMode
, "toggle_add_mode") { }
1112 virtual void run() override
;
1115 struct ToggleMouse
: BaseAction
1117 ToggleMouse(): BaseAction(Type::ToggleMouse
, "toggle_mouse") { }
1120 virtual void run() override
;
1123 struct ToggleBitrateVisibility
: BaseAction
1125 ToggleBitrateVisibility(): BaseAction(Type::ToggleBitrateVisibility
, "toggle_bitrate_visibility") { }
1128 virtual void run() override
;
1131 struct AddRandomItems
: BaseAction
1133 AddRandomItems(): BaseAction(Type::AddRandomItems
, "add_random_items") { }
1136 virtual void run() override
;
1139 struct ToggleBrowserSortMode
: BaseAction
1141 ToggleBrowserSortMode(): BaseAction(Type::ToggleBrowserSortMode
, "toggle_browser_sort_mode") { }
1144 virtual bool canBeRun() override
;
1145 virtual void run() override
;
1148 struct ToggleLibraryTagType
: BaseAction
1150 ToggleLibraryTagType(): BaseAction(Type::ToggleLibraryTagType
, "toggle_library_tag_type") { }
1153 virtual bool canBeRun() override
;
1154 virtual void run() override
;
1157 struct ToggleMediaLibrarySortMode
: BaseAction
1159 ToggleMediaLibrarySortMode()
1160 : BaseAction(Type::ToggleMediaLibrarySortMode
, "toggle_media_library_sort_mode") { }
1163 virtual bool canBeRun() override
;
1164 virtual void run() override
;
1167 struct FetchLyricsInBackground
: BaseAction
1169 FetchLyricsInBackground()
1170 : BaseAction(Type::FetchLyricsInBackground
, "fetch_lyrics_in_background") { }
1173 virtual bool canBeRun() override
;
1174 virtual void run() override
;
1179 struct RefetchLyrics
: BaseAction
1181 RefetchLyrics(): BaseAction(Type::RefetchLyrics
, "refetch_lyrics") { }
1184 virtual bool canBeRun() override
;
1185 virtual void run() override
;
1188 struct SetSelectedItemsPriority
: BaseAction
1190 SetSelectedItemsPriority()
1191 : BaseAction(Type::SetSelectedItemsPriority
, "set_selected_items_priority") { }
1194 virtual bool canBeRun() override
;
1195 virtual void run() override
;
1198 struct ToggleOutput
: BaseAction
1200 ToggleOutput(): BaseAction(Type::ToggleOutput
, "toggle_output") { }
1203 virtual bool canBeRun() override
;
1204 virtual void run() override
;
1207 struct ToggleVisualizationType
: BaseAction
1209 ToggleVisualizationType()
1210 : BaseAction(Type::ToggleVisualizationType
, "toggle_visualization_type") { }
1214 virtual bool canBeRun() override
;
1215 virtual void run() override
;
1218 struct SetVisualizerSampleMultiplier
: BaseAction
1220 SetVisualizerSampleMultiplier()
1221 : BaseAction(Type::SetVisualizerSampleMultiplier
, "set_visualizer_sample_multiplier") { }
1224 virtual bool canBeRun() override
;
1225 virtual void run() override
;
1228 struct ShowSongInfo
: BaseAction
1230 ShowSongInfo(): BaseAction(Type::ShowSongInfo
, "show_song_info") { }
1233 virtual void run() override
;
1236 struct ShowArtistInfo
: BaseAction
1238 ShowArtistInfo(): BaseAction(Type::ShowArtistInfo
, "show_artist_info") { }
1241 virtual bool canBeRun() override
;
1242 virtual void run() override
;
1245 struct ShowLyrics
: BaseAction
1247 ShowLyrics(): BaseAction(Type::ShowLyrics
, "show_lyrics") { }
1250 virtual bool canBeRun() override
;
1251 virtual void run() override
;
1253 const MPD::Song
*m_song
;
1256 struct Quit
: BaseAction
1258 Quit(): BaseAction(Type::Quit
, "quit") { }
1261 virtual void run() override
;
1264 struct NextScreen
: BaseAction
1266 NextScreen(): BaseAction(Type::NextScreen
, "next_screen") { }
1269 virtual void run() override
;
1272 struct PreviousScreen
: BaseAction
1274 PreviousScreen(): BaseAction(Type::PreviousScreen
, "previous_screen") { }
1277 virtual void run() override
;
1280 struct ShowHelp
: BaseAction
1282 ShowHelp(): BaseAction(Type::ShowHelp
, "show_help") { }
1285 virtual bool canBeRun() override
;
1286 virtual void run() override
;
1289 struct ShowPlaylist
: BaseAction
1291 ShowPlaylist(): BaseAction(Type::ShowPlaylist
, "show_playlist") { }
1294 virtual bool canBeRun() override
;
1295 virtual void run() override
;
1298 struct ShowBrowser
: BaseAction
1300 ShowBrowser(): BaseAction(Type::ShowBrowser
, "show_browser") { }
1303 virtual bool canBeRun() override
;
1304 virtual void run() override
;
1307 struct ChangeBrowseMode
: BaseAction
1309 ChangeBrowseMode(): BaseAction(Type::ChangeBrowseMode
, "change_browse_mode") { }
1312 virtual bool canBeRun() override
;
1313 virtual void run() override
;
1316 struct ShowSearchEngine
: BaseAction
1318 ShowSearchEngine(): BaseAction(Type::ShowSearchEngine
, "show_search_engine") { }
1321 virtual bool canBeRun() override
;
1322 virtual void run() override
;
1325 struct ResetSearchEngine
: BaseAction
1327 ResetSearchEngine(): BaseAction(Type::ResetSearchEngine
, "reset_search_engine") { }
1330 virtual bool canBeRun() override
;
1331 virtual void run() override
;
1334 struct ShowMediaLibrary
: BaseAction
1336 ShowMediaLibrary(): BaseAction(Type::ShowMediaLibrary
, "show_media_library") { }
1339 virtual bool canBeRun() override
;
1340 virtual void run() override
;
1343 struct ToggleMediaLibraryColumnsMode
: BaseAction
1345 ToggleMediaLibraryColumnsMode()
1346 : BaseAction(Type::ToggleMediaLibraryColumnsMode
, "toggle_media_library_columns_mode") { }
1349 virtual bool canBeRun() override
;
1350 virtual void run() override
;
1353 struct ShowPlaylistEditor
: BaseAction
1355 ShowPlaylistEditor(): BaseAction(Type::ShowPlaylistEditor
, "show_playlist_editor") { }
1358 virtual bool canBeRun() override
;
1359 virtual void run() override
;
1362 struct ShowTagEditor
: BaseAction
1364 ShowTagEditor(): BaseAction(Type::ShowTagEditor
, "show_tag_editor") { }
1367 virtual bool canBeRun() override
;
1368 virtual void run() override
;
1371 struct ShowOutputs
: BaseAction
1373 ShowOutputs(): BaseAction(Type::ShowOutputs
, "show_outputs") { }
1376 virtual bool canBeRun() override
;
1377 virtual void run() override
;
1380 struct ShowVisualizer
: BaseAction
1382 ShowVisualizer(): BaseAction(Type::ShowVisualizer
, "show_visualizer") { }
1385 virtual bool canBeRun() override
;
1386 virtual void run() override
;
1389 struct ShowClock
: BaseAction
1391 ShowClock(): BaseAction(Type::ShowClock
, "show_clock") { }
1394 virtual bool canBeRun() override
;
1395 virtual void run() override
;
1398 struct ShowServerInfo
: BaseAction
1400 ShowServerInfo(): BaseAction(Type::ShowServerInfo
, "show_server_info") { }
1403 # ifdef HAVE_TAGLIB_H
1404 virtual bool canBeRun() override
;
1405 # endif // HAVE_TAGLIB_H
1406 virtual void run() override
;
1411 #endif // NCMPCPP_ACTIONS_H