diff --git a/doc/installation.rst b/doc/installation.rst index f4291e5..95f1e57 100644 --- a/doc/installation.rst +++ b/doc/installation.rst @@ -14,12 +14,12 @@ Table of Contents Dependencies ------------ -Internally, project uses Nim compiler and the stamdard library. +Internally, project uses Nim compiler and the standard library. For Installation Purposes, visit https://nim-lang.org/install.html As of now, the only external dependency that project has is libmpv any version which is not too old is supported, the stable or developement -version of api dont matter. +version of api dont matter. (but it has to have mpv/client.h) In some POSIX OSes (ArchLinux,BSDs..), the package manager does not provide the library intact but only available as through installing mpv itself! @@ -32,7 +32,7 @@ For Linux users, as distrobutions: sudo pacman -S mpv Gentoo-based:: - sudo emerge + sudo emerge --ask media-video/mpv Fedora-based:: sudo dnf install mpv @@ -71,13 +71,10 @@ and is the same regardless the platform. Using Nimble Package Manager:: nimble build + nimble install Using Compiler Directly:: - nim c -d:release -o:pnimrp src/pnimrp + nim c -d:release pnimrp Note: * project does not compile under JS backend - -Backporting to older version ----------------------------- -on v1.2.14, try to not use nimble build diff --git a/doc/user.rst b/doc/user.rst index daca75d..3d8899d 100644 --- a/doc/user.rst +++ b/doc/user.rst @@ -12,9 +12,9 @@ Table Of Contents Supported Platforms ------------------- -Ceiling of supportiveness boils down to the usage of audio api used -to play streams,and not because of the application code, thus can be -extended in the future +Ceiling of supportiveness boils down to the usage of mpv api used +to play streams, and not because of the application code, thus can +be extended in the future. Supported platforms include but not limited to: - Working @@ -22,24 +22,30 @@ Supported platforms include but not limited to: * MacOS * Linux 3.2+ * BSDs + * OpenSolaris-based -DragonFlyBSD is not currently supported as the standard library is too buggy -for it (as in tty). +DragonFlyBSD is not currently supported as the tty implementation +is not fully POSIX compiliant (some escape codes dont return the +desired result). Controls -------- -General Controls are using given numbers or characters to select the menu. -where R would return and q would quit out of the application. -and when stream is being played, use p to pause/mute or play. +General Controls are using given numbers or characters to select +the menu. where R would return and q would quit out of the +application. and when stream is being played, use p to pause, +m to mute, + to volume up and - to volume down. Links ----- Editing Links is just to look at the relevant file in assets directory. -the files are arranged in an json array and has to be even as it should have -name and link latter last respectively. +the files are arranged in an json array and has to be even as it should +have name and link latter last respectively. + +explicitly adding https:// will make sure it retrives https data .. note:: - cannot specify http or https because to save data in assets directory + cannot specify http or https because its too much duplicate text + in assets directory Qoutes ------ diff --git a/pnimrp.nim b/pnimrp.nim index a06b36d..0351ff5 100644 --- a/pnimrp.nim +++ b/pnimrp.nim @@ -1,6 +1,6 @@ import os, terminal, src/[ui, menu] -if not dirExists getAppDir() & "/assets": +if not dirExists getAppDir() / "assets": error "data or config files dont exist" when defined dragonfly: diff --git a/readme.rst b/readme.rst index 350d206..56b51a4 100644 --- a/readme.rst +++ b/readme.rst @@ -1,23 +1,53 @@ -====== -pnimrp -====== +============================================ +pnimrp - Poor Man's radio Player in Nim-lang +============================================ -this is a simple, portable terminal-based radio/music station -player. this project was meant to be a rewrite of pmrp, as a -learning exercise. +are you on the terminal and want to listen to music without opening +the web browser?, We got you. with the collection of 30+ modifiable +radio station link files (json) you can select through the radio stations +and play, pause, mute, them without ever getting your hands dirty +touching on pls files. -.. warning :: - this project is not maintained anymore, it may be unarchived - and remaintained later in fhe future. it is time to move on. +with inspiration from `Poor Man's radio player `_ | see doc/user.rst for a basic level user usage documentation. | see doc/installation.rst for installation instructions. -Note ----- -All of the out-of-code Documentation is written in RST, so -these can be viewed in a typical text editor or can be used -to generate HTML source by running:: +Quick Installation +------------------ +first install mpv for your distrobution (it must be the developmental version). + +then please install the `Nim compiler `_ + - unix:: + curl https://nim-lang.org/choosenim/init.sh -sSf | sh + - Windows:: + please see the choosenim ` releases `_ + - or figure it out yourself(gentoo chads report in):: + `Nim compiler `_ + +After installing the compiler run:: + nimble install pnimrp +or to compile from here:: + nim c pnimrp + ./pnimrp + +What we solve for you +--------------------- +Disadvantages of pmrp:: + - pmrp is not portable (windows) + - it is hard to hunt down links and edit them + - there is no way to check if the link is dead + - the source code is very redundant and repetitive + +what we give you:: + - we solve all of that + - you get the now playing song + - its easier to develop in + +Do you want to readme(read me) in html? +--------------------------------------- +documentation is written in RST so these can be viewed in a typical +text editor or can be used to generate HTML source by running:: nim rst2html file.rst then use a web browser to open htmldocs/file.html @@ -32,3 +62,13 @@ Cites - c2nim -> https://github.com/nim-lang/c2nim helped wrapping objects. + +Thanks +------ +- hundreds of other people from which this code base was made + possible from. + - Nim forums -> forum.nim-lang.org + - stackoverflow + - github sources (mpv, other radio players) + - chatgpt 3.5 + - everybody else