*[docs] update and improve the docs

*[crossPlat]use proc`/` completely
This commit is contained in:
Anton 2024-04-03 11:32:18 +01:00
parent d054911dfb
commit 8315be9727
4 changed files with 77 additions and 34 deletions

View file

@ -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

View file

@ -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
------

View file

@ -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:

View file

@ -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 <https://github.com/hakerdefo/pmrp>`_
| 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 <https://nim-lang.org/install.html>`_
- unix::
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
- Windows::
please see the choosenim ` releases <https://github.com/dom96/choosenim/releases>`_
- or figure it out yourself(gentoo chads report in)::
`Nim compiler <https://nim-lang.org/install.html>`_
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