Store player config options in a hashtable
[nimcoon.git] / README.md
1 # NimCoon
2
3 Play videos from YouTube and PeerTube from the
4 command line using your preferred desktop media player.
5
6 This application is implemented in [Nim language](https://nim-lang.org) using
7 only the standard library.
8
9 ![nimcoon screenshot with search term 'baby yoda'](screenshot.png)
10
11 ## Features
12
13 - [x] Search for videos using keywords
14 - [x] Stream videos
15 - [x] Stream music
16 - [x] Play direct links from YouTube and PeerTube
17 - [x] Stream video from magnet links
18 - [ ] Download video
19 - [ ] Download music
20 - [ ] Configuration options
21
22 ## Installation
23
24 Nim Coon depends on the following:
25 - youtube-dl
26 - mpv (recommended) or vlc
27 - peerflix (for magnet links)
28
29 Download the latest build from GitlabCI (amd64 GNU/Linux only).
30
31 ```sh
32 wget https://gitlab.com/njoseph/nimcoon/-/jobs/artifacts/master/download?job=compile -O artifacts.zip
33 unzip artifacts.zip
34 ```
35
36
37 For other platforms, create a release artifact using the following command:
38
39 ```sh
40 nim c -d:ssl -d:release nimcoon.nim
41 ```
42
43 Copy the binary to a directory on your PATH such as `/usr/local/bin`
44
45 ## Usage
46
47 ```sh
48 nimcoon emacs
49
50 # If your search query has multiple words, use quotes
51 nimcoon 'nim lang'
52
53 # Advanced: Play audio of the first search result
54 nimcoon -m -l "counting stars"
55 ```
56
57 ### Commandline arguments
58
59 | **Arguments** | **Explanation** |
60 |-------------------|--------------------------------------------|
61 | -m, --music | Play Music only, no video |
62 | -l, --lucky | Try your luck with the first search result |
63 | -f, --full-screen | Play video in full screen |
64
65 ## Development
66
67 One-liner for compiling and running
68
69 ```sh
70 nim c -d:ssl -r nimcoon.nim 'nim lang'
71 ```