]> njoseph.me Git - nimcoon.git/blobdiff - README.md
Make all sequences immutable
[nimcoon.git] / README.md
index 2823d1e2d1a8da0a837f7ab06186f4497ab0d626..296850299b870029c5a9a36de4e935dfe3517e0d 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Nim Coon
+# NimCoon
 
 Play videos from YouTube and PeerTube from the
 command line using your preferred desktop media player.
@@ -11,12 +11,14 @@ only the standard library.
 ## Features
 
 - [x] Search for videos using keywords
-- [x] Stream videos
-- [x] Stream music
+- [x] Stream videos and music from YouTube
 - [x] Play direct links from YouTube and PeerTube
-- [x] Stream video from magnet links
-- [ ] Download video
-- [ ] Download music
+- [x] Stream video and music from magnet links and hyperlinks to torrent files
+- [x] Download music
+- [x] Download video
+- [x] Play playlists (MPV only)
+- [ ] Download playlists
+- [ ] Autoplay next video/audio
 - [ ] Configuration options
 
 ## Installation
@@ -24,48 +26,108 @@ only the standard library.
 Nim Coon depends on the following:
 - youtube-dl
 - mpv (recommended) or vlc
-- peerflix (for magnet links)
+- peerflix and webtorrent (for magnet links)
 
-Download the latest build from GitlabCI (amd64 GNU/Linux only).
+Install MPV or VLC using your distribution's package manager.
+
+Install YouTube-dl
+``` sh
+pip3 install --user youtube-dl
+```
 
+Install PeerFlix and WebTorrent
 ```sh
-wget https://gitlab.com/njoseph/nimcoon/-/jobs/artifacts/master/download?job=compile -O artifacts.zip
-unzip artifacts.zip
+npm install --global peerflix webtorrent
 ```
 
+### Installing using Nimble
 
-For other platforms, create a release artifact using the following command:
+NimCoon can be installed from Nimble repositories:
+
+``` sh
+nimble install nimcoon
+```
+
+You can also install from source by running the following command:
 
 ```sh
-nim c -d:ssl -d:release nimcoon.nim
+nimble install
 ```
 
-Copy the binary to a directory on your PATH such as `/usr/local/bin`
+### Installing binary
+
+Download the latest build from GitlabCI (amd64 GNU/Linux only).
+
+```sh
+wget https://gitlab.com/njoseph/nimcoon/-/jobs/artifacts/master/download?job=compile -O artifacts.zip
+unzip artifacts.zip
+```
+
+Copy the binary to somewhere on your path like /usr/local/bin
 
 ## Usage
 
 ```sh
-nimcoon emacs
+nimcoon "emacs"
 
 # If your search query has multiple words, use quotes
-nimcoon 'nim lang'
+nimcoon "nim lang"
 
-# Advanced: Play audio of the first search result
+# Play audio of the first search result
 nimcoon -m -l "counting stars"
+
+# Download audio of the first search result
+nimcoon -mld "counting stars"
+
+# Play direct video link
+nimcoon https://www.youtube.com/watch?v=QOEMv0S8AcA
+
+# Add -d to download or -m to select only audio or both
+nimcoon -md https://www.youtube.com/watch?v=hT_nvWreIhg
 ```
 
-### Commandline arguments
+After the search results are displayed, you can enter a number to play one
+result, "all" to play all the results or "q" to quit the program. 
+
+If a number is entered, after the selected search result is played, the results
+are redisplayed, so that you can play the other results without having to search
+again.
+
+### Command line arguments
 
 | **Arguments**     | **Explanation**                            |
 |-------------------|--------------------------------------------|
 | -m, --music       | Play Music only, no video                  |
 | -l, --lucky       | Try your luck with the first search result |
 | -f, --full-screen | Play video in full screen                  |
+| -d, --download    | Download video or music                    |
+
+Feel free to use these options in any combination. NimCoon will show a helpful
+error message if you pick incompatible options.
 
 ## Development
 
 One-liner for compiling and running
 
 ```sh
-nim c -d:ssl -r nimcoon.nim 'nim lang'
+nim c -d:ssl -r src/nimcoon.nim 'nim lang'
+```
+
+## Privacy
+
+To avoid storing your nimcoon searches in `zsh` history, run this command
+
+```sh
+setopt histignorespace
+```
+
+Then, add a space before typing nimcoon in the shell, like " nimcoon"
+
+```sh
+ nimcoon "this is private"
+```
+
+The same can be achieved in `bash` by setting an environment variable
+```sh
+export HISTCONTROL=ignoreboth
 ```