diff options
author | Andrzej Rybczak <electricityispower@gmail.com> | 2012-09-08 18:54:52 +0200 |
---|---|---|
committer | Andrzej Rybczak <electricityispower@gmail.com> | 2012-09-08 19:21:38 +0200 |
commit | 189010fecc9bc125cb1689626edd9b42ded79890 (patch) | |
tree | b23b9330e9b76af781e4a0fc6ce8b7591f0befb1 /src/helpers.cpp | |
parent | 84326efc461cadb3024d35d6aa7ba6eba143a268 (diff) |
move ParseArgv to separate file
Diffstat (limited to 'src/helpers.cpp')
-rw-r--r-- | src/helpers.cpp | 249 |
1 files changed, 0 insertions, 249 deletions
diff --git a/src/helpers.cpp b/src/helpers.cpp index 70e9d7bf..3634d5c0 100644 --- a/src/helpers.cpp +++ b/src/helpers.cpp @@ -18,257 +18,8 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#include <cassert> -#include <cstring> -#include <algorithm> -#include <iostream> -#include <stdexcept> - -#include "clock.h" -#include "charset.h" -#include "global.h" #include "helpers.h" #include "playlist.h" -#include "status.h" -#include "tag_editor.h" -#include "help.h" -#include "playlist_editor.h" -#include "browser.h" -#include "media_library.h" -#include "search_engine.h" -#include "outputs.h" -#include "visualizer.h" - -void ParseArgv(int argc, char **argv) -{ - bool quit = 0; - std::string now_playing_format = "{{{(%l) }{{%a - }%t}}|{%f}}"; - - for (int i = 1; i < argc; ++i) - { - if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--host")) - { - if (++i >= argc) - exit(0); - Mpd.SetHostname(argv[i]); - continue; - } - if (!strcmp(argv[i], "-p") || !strcmp(argv[i], "--port")) - { - if (++i >= argc) - exit(0); - Mpd.SetPort(atoi(argv[i])); - continue; - } - else if (!strcmp(argv[i], "-v") || !strcmp(argv[i], "--version")) - { - std::cout << "ncmpcpp version: " << VERSION << "\n\n" - << "optional screens compiled-in:\n" -# ifdef HAVE_TAGLIB_H - << " - tag editor\n" - << " - tiny tag editor\n" -# endif -# ifdef HAVE_CURL_CURL_H - << " - artist info\n" -# endif -# ifdef ENABLE_OUTPUTS - << " - outputs\n" -# endif -# ifdef ENABLE_VISUALIZER - << " - visualizer\n" -# endif -# ifdef ENABLE_CLOCK - << " - clock\n" -# endif - << "\nencoding detection: " -# ifdef HAVE_LANGINFO_H - << "enabled" -# else - << "disabled" -# endif // HAVE_LANGINFO_H - << "\nbuilt with support for:" -# ifdef HAVE_CURL_CURL_H - << " curl" -# endif -# ifdef HAVE_ICONV_H - << " iconv" -# endif -# ifdef HAVE_FFTW3_H - << " fftw" -# endif -# ifdef USE_PDCURSES - << " pdcurses" -# else - << " ncurses" -# endif -# ifdef HAVE_TAGLIB_H - << " taglib" -# endif -# ifdef NCMPCPP_UNICODE - << " unicode" -# endif - << std::endl; - exit(0); - } - else if (!strcmp(argv[i], "-?") || !strcmp(argv[i], "--help")) - { - std::cout - << "Usage: ncmpcpp [OPTION]...\n" - << " -h, --host connect to server at host [localhost]\n" - << " -p, --port connect to server at port [6600]\n" - << " -c, --config use alternative configuration file\n" - << " -s, --screen <name> specify the startup screen\n" - << " -?, --help show this help message\n" - << " -v, --version display version information\n" - << " --now-playing display now playing song [" << now_playing_format << "]\n" - << "\n" - << " play start playing\n" - << " pause pause the currently playing song\n" - << " toggle toggle play/pause mode\n" - << " stop stop playing\n" - << " next play the next song\n" - << " prev play the previous song\n" - << " volume [+-]<num> adjusts volume by [+-]<num>\n" - ; - exit(0); - } - - if (!Action::ConnectToMPD()) - exit(1); - - if (!strcmp(argv[i], "-s") || !strcmp(argv[i], "--screen")) - { - if (++i == argc) { - std::cout << "ncmpcpp: no screen specified" << std::endl; - exit(0); - } - if (!strcmp(argv[i], "help")) - Config.startup_screen = myHelp; - else if (!strcmp(argv[i], "playlist")) - Config.startup_screen = myPlaylist; - else if (!strcmp(argv[i], "browser")) - Config.startup_screen = myBrowser; - else if (!strcmp(argv[i], "search-engine")) - Config.startup_screen = mySearcher; - else if (!strcmp(argv[i], "media-library")) - Config.startup_screen = myLibrary; - else if (!strcmp(argv[i], "playlist-editor")) - Config.startup_screen = myPlaylistEditor; -# ifdef HAVE_TAGLIB_H - else if (!strcmp(argv[i], "tag-editor")) - Config.startup_screen = myTagEditor; -# endif // HAVE_TAGLIB_H -# ifdef ENABLE_OUTPUTS - else if (!strcmp(argv[i], "outputs")) - Config.startup_screen = myOutputs; -# endif // ENABLE_OUTPUTS -# ifdef ENABLE_VISUALIZER - else if (!strcmp(argv[i], "visualizer")) - Config.startup_screen = myVisualizer; -# endif // ENABLE_VISUALIZER -# ifdef ENABLE_CLOCK - else if (!strcmp(argv[i], "clock")) - Config.startup_screen = myClock; -# endif // ENABLE_CLOCK - else { - std::cout << "ncmpcpp: invalid screen: " << argv[i] << std::endl; - exit(0); - } - } - else if (!strcmp(argv[i], "--now-playing")) - { - Mpd.UpdateStatus(); - if (!Mpd.GetErrorMessage().empty()) - { - std::cout << "Error: " << Mpd.GetErrorMessage() << std::endl; - exit(1); - } - if (Mpd.isPlaying()) - { - if (argc > ++i) - { - if (MPD::Song::isFormatOk("now-playing format", argv[i])) - { - // apply additional pair of braces - now_playing_format = "{"; - now_playing_format += argv[i]; - now_playing_format += "}"; - replace(now_playing_format, "\\n", "\n"); - replace(now_playing_format, "\\t", "\t"); - } - } - std::cout << utf_to_locale_cpy(Mpd.GetCurrentlyPlayingSong().toString(now_playing_format)) << "\n"; - } - exit(0); - } - else if (!strcmp(argv[i], "play")) - { - Mpd.Play(); - quit = 1; - } - else if (!strcmp(argv[i], "pause")) - { - Mpd.Pause(1); - quit = 1; - } - else if (!strcmp(argv[i], "toggle")) - { - Mpd.UpdateStatus(); - if (!Mpd.GetErrorMessage().empty()) - { - std::cout << "Error: " << Mpd.GetErrorMessage() << std::endl; - exit(1); - } - Mpd.Toggle(); - quit = 1; - } - else if (!strcmp(argv[i], "stop")) - { - Mpd.Stop(); - quit = 1; - } - else if (!strcmp(argv[i], "next")) - { - Mpd.Next(); - quit = 1; - } - else if (!strcmp(argv[i], "prev")) - { - Mpd.Prev(); - quit = 1; - } - else if (!strcmp(argv[i], "volume")) - { - i++; - Mpd.UpdateStatus(); - if (!Mpd.GetErrorMessage().empty()) - { - std::cout << "Error: " << Mpd.GetErrorMessage() << std::endl; - exit(1); - } - if (i != argc) - Mpd.SetVolume(Mpd.GetVolume()+atoi(argv[i])); - quit = 1; - } - else if (!strcmp(argv[i], "-c") || !strcmp(argv[i], "--config")) - { - // this is used in Configuration::CheckForCommandLineConfigFilePath, ignoring here. - ++i; - } - else - { - std::cout << "ncmpcpp: invalid option: " << argv[i] << std::endl; - exit(0); - } - if (!Mpd.GetErrorMessage().empty()) - { - std::cout << "Error: " << Mpd.GetErrorMessage() << std::endl; - exit(0); - } - } - if (quit) - exit(0); -} std::string Timestamp(time_t t) { |