X-Git-Url: https://njoseph.me/gitweb/nimcoon.git/blobdiff_plain/26229fac9c93a427a85e86b899ed54639116de9a..6697cfd20fbad109b18302ab0bb2c094bfdc4b5c:/README.md diff --git a/README.md b/README.md index 6bac1ee..2b09f97 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,23 @@ # NimCoon -Play videos from YouTube and PeerTube from the -command line using your preferred desktop media player. +Play videos from YouTube and PeerTube from the command line using your preferred desktop media player. -NewPipe app for Android offers similar features. +Similar apps for other platforms: -This application is implemented in [Nim language](https://nim-lang.org) using -only the standard library. +- [NewPipe](https://newpipe.schabi.org) is a light-weight YouTube frontend for Android +- [FreeTube](https://freetubeapp.io) is a GUI client for desktop platforms (uses electron) + +This is a minimal application implemented in [Nim language](https://nim-lang.org) using only the standard library. ![nimcoon screenshot with search term 'baby yoda'](screenshot.png) +## Logo + +A Maine Coon cat wearing a golden crown. +Logo contributions/suggestions welcome. + +Maybe I would've just called this project Maine Coon had I written it in Python, but I wanted to use this opportunity to make Nim popular. + ## Motivation ### No similar existing tool @@ -41,7 +49,7 @@ I made this just for myself. The development is completely based on my needs and - [x] Stream video from torrent file URLs - [x] BitTorrent is preferred for PeerTube video links - [ ] Search PeerTube (3.0 or later) -- [ ] YouTube Autoplay (music only) +- [x] YouTube Autoplay (music only) - [ ] Configuration options | | YouTube | PeerTube (HTTP) | PeerTube (WebTorrent) | @@ -58,6 +66,7 @@ I made this just for myself. The development is completely based on my needs and | Stream Video Playlist | ✅ | | | | Download Music Playlist | | | | | Download Video Playlist | | | | +| Play Recommended Music | ✅ | | | ## Installation @@ -135,16 +144,43 @@ 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 | +NimCoon provides both interactive and non-interactive arguments with significant +overlap. But some arguments might only be present in one mode. + +Non-interactive arguments are specified to the nimcoon program and apply +globally to all search results in that session. These can be overriden on a +case-by-case basis using the interactive arguments. + +| **Non-interactive 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 | +| -a, --auto-play | Play the next search result (YouTube only) | Feel free to use these options in any combination. NimCoon will show a helpful error message if you pick incompatible options. +Interactive arguments are provided during selection of a search result. These +options allow you to change your mind after performing the search. For example, +you might have searched for a music video, watched it and want to download the +music only. In this case, you can specify the search result followed by the +options as single characters. i.e + +"1" plays the video +"1 md" downloads the music of the video + +| **Interactive Arguments** | **Explanation** | +|---------------------------|--------------------------------------------| +| -m, --music | Play Music only, no video | +| -f, --full-screen | Play video in full screen | +| -d, --download | Download video or music | +| -a, --auto-play | Play the next search result (YouTube only) | + +Auto-playing videos leads to binge watching. The default option in NimCoon is to +support auto-play for music only. + ## Development One-liner for compiling and running