40a41,44
> bool jwt_norepeat = false;  /* JWT */
> bool resetEqState;  /* JWT:SAVE PRE-CONFIGURED STATES IF WE OR CMD-LINES ALTER (MAKE ONE-SHOT ONLY) */
> bool resetRepeatToOn;
> int resetDefaultGain;
49a54
>     int clearplaylist, newinstance, pauseismute, forcenoequalizer, forcenogainchg, deleteallplaylists;  /* JWT */
60,67c65,66
<     {"help", 'h', & options.help, N_("Show command-line help")},
<     {"version", 'v', & options.version, N_("Show version")},
<     {"play", 'p', & options.play, N_("Start playback")},
<     {"pause", 'u', & options.pause, N_("Pause playback")},
<     {"play-pause", 't', & options.play_pause, N_("Pause if playing, play otherwise")},
<     {"stop", 's', & options.stop, N_("Stop playback")},
<     {"rew", 'r', & options.rew, N_("Skip to previous song")},
<     {"fwd", 'f', & options.fwd, N_("Skip to next song")},
---
>     {"clear", 'c', & options.clearplaylist, N_("Clear Playlist")},
>     {"delete", 'D', & options.deleteallplaylists, N_("DELETE all playlists!")},
70,71c69,71
<     {"show-main-window", 'm', & options.mainwin, N_("Display the main window")},
<     {"show-jump-box", 'j', & options.show_jump_box, N_("Display the jump-to-song window")},
---
>     {"fwd", 'f', & options.fwd, N_("Skip to next song")},
>     {"no-gain", 'g', & options.forcenogainchg, N_("Force No Gain Adjustment")},
>     {"help", 'h', & options.help, N_("Show command-line help")},
72a73,78
>     {"show-jump-box", 'j', & options.show_jump_box, N_("Display the jump-to-song window")},
>     {"show-main-window", 'm', & options.mainwin, N_("Display the main window")},
>     {"new", 'n', & options.newinstance, N_("New Instance")}, 
>       /* {"output-plugin", 'o', & options.outputplugin, N_("Set Output Plugin to <plugin>(.so)")}, */
>     {"play", 'p', & options.play, N_("Start playback")},
>     {"pause-mute", 'P', & options.pauseismute, N_("Pause mutes instead of pausing")},
74d79
<     {"verbose", 'V', & options.verbose, N_("Print debugging messages (may be used twice)")},
77a83,89
>     {"rew", 'r', & options.rew, N_("Skip to previous song")},
>     {"stop", 's', & options.stop, N_("Stop playback")},
>     {"play-pause", 't', & options.play_pause, N_("Pause if playing, play otherwise")},
>     {"pause", 'u', & options.pause, N_("Pause playback")},
>     {"version", 'v', & options.version, N_("Show version")},
>     {"verbose", 'V', & options.verbose, N_("Print debugging messages (may be used twice)")},
>     {"no-equalizer", 'z', & options.forcenoequalizer, N_("Force Equalizer Off")},
97c109,131
<         if (arg[0] != '-')  /* filename */
---
>         if (!(strcmp (arg, "-")))  /* JWT:ARG IS "-", ACCEPT LIST OF FILES TO PLAY FROM STDIN */
>         {
>             char lnfromstdin[1000];
>             String uri;
> 
>             while (fgets (lnfromstdin, 1000 , stdin) != NULL)
>             {
>                 lnfromstdin[strlen(lnfromstdin)-1] = '\0';
>                 if (strlen(lnfromstdin) > 1 && lnfromstdin[0] != '#')       /* filter out the comments		*/
>                 {
>                     if (strstr (lnfromstdin, "://"))
>                         uri = String (lnfromstdin);
>                     else if (g_path_is_absolute (lnfromstdin))
>                         uri = String (filename_to_uri (lnfromstdin));
>                     else
>                         uri = String (filename_to_uri (filename_build ({cur, lnfromstdin})));
> 
>                     if (uri)
>                         filenames.append (uri);
>                 }
>             }
>         }
>         else if (arg[0] != '-')  /* filename */
101a136
>             {
102a138,140
>                 if (strstr (arg, "://-."))   /* JWT:FORCE REPEAT OFF IF STREAMING FROM stdin, SINCE IMPOSSIBLE TO REWIND! */
>                     jwt_norepeat = true;
>             }
164c202,205
< 
---
>     if (options.pauseismute) /* JWT: ADDED 20100205 "-P" COMMAND-LINE OPTION TO ALLOW MUTING OF OUTPUT ON PAUSE (INPUT CONTINUES)! */
>         aud_set_pausemute_mode (true);
>     else
>         aud_set_pausemute_mode (false);
199c240
<     if (dbus_server_init () != StartupType::Client)
---
>     if (options.newinstance || dbus_server_init () != StartupType::Client)
267a309,327
> 	if (options.deleteallplaylists)  /* JWT */
> 	{
> 		const char *playlist_dir = aud_get_path(AudPath::PlaylistDir);
> 		if (strstr(playlist_dir, "config")) {   /* PRECENT POTENTIAL ACCIDENTAL DELETE AGONY IF playlist WAS SOMEHOW EMPTY!!! */
> 			AUDINFO("-D:DELETING ALL PLAYLISTS (DIR=%s)!", playlist_dir);
> 			int i;
> 			int playlist_count = aud_playlist_count();
> 			for (i=playlist_count;i>=0;i--)
> 			{
> 				aud_playlist_delete(i);
> 			}
> 		}
> 	}
>     else if (options.clearplaylist)   /* JWT */
>     {
>         int playlist_count = aud_playlist_count();
>         if (playlist_count > 0)
>             aud_playlist_delete(playlist_count-1);
>     }
287c347
<     if (options.play || options.play_pause)
---
>     if (options.play_pause)
293a354,355
>     if (options.play)  aud_drct_play ();   /* JWT - DOESN'T SEEM TO WORK?! */
>     if (options.pause)  aud_drct_pause ();   /* JWT - DOESN'T SEEM TO WORK?! */
298a361,375
>     if (options.forcenoequalizer)
>     {
>         resetEqState = aud_get_bool (nullptr, "equalizer_active");
>         aud_set_bool (nullptr, "equalizer_active", false);
>     }
>     if (jwt_norepeat)
>     {
>         resetRepeatToOn = aud_get_bool (nullptr, "repeat");
>         aud_set_bool (nullptr, "repeat", false);
>     }
>     if (options.forcenogainchg)
>     {
>         resetDefaultGain = aud_get_int (nullptr, "default_gain");
>         aud_set_int (nullptr, "default_gain", 0);
>     }
304a382
>         
359a438,450
>     if (options.deleteallplaylists)  /* JWT */
>     {
>         const char *playlist_dir = aud_get_path(AudPath::PlaylistDir);
>         if (strstr (playlist_dir, "config")) {   /* PRECENT POTENTIAL ACCIDENTAL DELETE AGONY IF playlist WAS SOMEHOW EMPTY!!! */
>         AUDINFO("-D:DELETING ALL PLAYLISTS (DIR=%s)!", playlist_dir);
>         int i;
>         int playlist_count = aud_playlist_count();
>         for (i=playlist_count;i>=0;i--)
>         {
>             aud_playlist_delete(i);
>         }
>     }
> }
379a471,478
> 
>     if (options.forcenoequalizer)
>         aud_set_bool (nullptr, "equalizer_active", resetEqState);
>     if (jwt_norepeat) {
>         aud_set_bool (nullptr, "repeat", resetRepeatToOn);
> 
>     } if (options.forcenogainchg)
>         aud_set_int (nullptr, "default_gain", resetDefaultGain);
