* change version number to git in nimblefile

* add more in-code documentation
* various - remove unneccessary sleep from functions
* menu - use character in forloop and not use strConcat
* menu - remove pointless argument checking
This commit is contained in:
antonl05 2021-10-31 17:45:53 +05:30
parent e0bb6dd551
commit 47405e1851
9 changed files with 19 additions and 38 deletions

View file

@ -1,6 +1,6 @@
# Package
version = "0.1.0"
version = "git-dev"
author = "antonl05"
description = "a port of pmrp in nim"
license = "GPL-3.0-or-later"

View file

@ -40,11 +40,11 @@ type #enums
errOnOption = -7,
errOptionFormat = -6,
errOptionNotFound = -5,
errInvalidParameter = -4,
errUninitialized = -3,
errNoMem = -2,
errInvalidParameter = -4, ##error when parameter is invalid or unsupported
errUninitialized = -3, ##set an option that doesnt exist
errNoMem = -2, ##memory allocation failed
errEventQueueFull = -1,
errSuccess = 0
errSuccess = 0 ##no error, >= 0 means success
format* = enum
formatNone = 0,
@ -79,11 +79,11 @@ type #enums
eventIDHook = 25
endFileReason* = enum
endFileReasonEOF = 0,
endFileReasonStop = 2,
endFileReasonQuit = 3,
endFileReasonError = 4,
endFileReasonReDirect = 5
endFileReasonEOF = 0, ##reaching end of file. network issues, corrupted packets?
endFileReasonStop = 2, ##external action (controls?)
endFileReasonQuit = 3, ##quitted
endFileReasonError = 4, ##some error made it stop.
endFileReasonReDirect = 5 ##playlist endofFile redirect mechanism
logLevel* = enum
logLevelNone = 0, ##no messages

View file

@ -1,7 +1,6 @@
import player,term
from terminal import getch
from json import getStr, `{}`,JsonNode,parseJson
from os import sleep
from strformat import fmt
proc parseJ(x:string):JsonNode = parseJson readFile fmt"pnimrp.d/{x}.json"
@ -9,8 +8,8 @@ proc parseJ(x:string):JsonNode = parseJson readFile fmt"pnimrp.d/{x}.json"
proc endMenu3*(sub,file:string; sect = "") =
let node = parseJ file
var n,l:seq[string] = @[]
for f in 1..3: n.add getStr node{ "Name" & $f }
for f in 1..3: l.add getStr node{ "link" & $f }
for f in '1'..'3': n.add getStr node{ "Name" & f }
for f in '1'..'3': l.add getStr node{ "link" & f }
while true:
var j = false
var o = fmt"""1 {n[0]}
@ -18,10 +17,8 @@ proc endMenu3*(sub,file:string; sect = "") =
3 {n[2]}
R Return
Q Exit"""
if sect == "": drawMenu sub,o
else: drawMenu sub,o,sect
drawMenu sub,o,sect
while true:
sleep 100
case getch():
of '1': call sub,sect,n[0],l[0]; break
of '2': call sub,sect,n[1],l[1]; break
@ -34,8 +31,8 @@ Q Exit"""
proc endMenu5*(sub,file:string; sect = "") =
let node = parseJ file
var n,l:seq[string] = @[]
for f in 1..5: n.add getStr node{ "Name" & $f }
for f in 1..5: l.add getStr node{ "link" & $f }
for f in '1'..'5': n.add getStr node{ "Name" & f }
for f in '1'..'5': l.add getStr node{ "link" & f }
while true:
var j = false
var o = fmt"""1 {n[0]}
@ -45,10 +42,8 @@ proc endMenu5*(sub,file:string; sect = "") =
5 {n[4]}
R Return
Q Exit"""
if sect == "": drawMenu sub,o
else: drawMenu sub,o,sect
drawMenu sub,o,sect
while true:
sleep 100
case getch():
of '1': call sub,sect,n[0],l[0]; break
of '2': call sub,sect,n[1],l[1]; break
@ -79,10 +74,8 @@ proc endMenu10*(sub,file:string; sect = "") =
A {n[9]}
R Return
Q Exit"""
if sect == "": drawMenu sub,o
else: drawMenu sub,o,sect
drawMenu sub,o,sect
while true:
sleep 100
case getch():
of '1': call sub,sect,n[0],l[0]; break
of '2': call sub,sect,n[1],l[1]; break
@ -123,10 +116,8 @@ E {n[13]}
F {n[14]}
R Return
Q Exit"""
if sect == "": drawMenu sub,o
else: drawMenu sub,o,sect
drawMenu sub,o,sect
while true:
sleep 100
case getch():
of '1': call sub,sect,n[0],l[0]; break
of '2': call sub,sect,n[1],l[1]; break

View file

@ -32,13 +32,12 @@ proc player*(parm:string) =
event = ctx.waitEvent 1000
if cast[eventID](event) == eventIDShutdown: break
if cast[eventID](event) == eventIDIdle: break
sleep 50
case getch():
of 'p','m','P','M':
warn "Paused/Muted",4
cursorUp()
terminateDestroy ctx
sleep 50
sleep 500
while true:
case getch():
of 'p','m','P','M':

View file

@ -1,4 +1,3 @@
from os import sleep
import terminal
import base/[term,menu]
@ -21,7 +20,6 @@ B Urban
R Return
Q Quit"""
while true:
sleep 100
case getch():
of '1': endMenu5 sub,"fm181/eight181","80s"; break
of '2': endMenu5 sub,"fm181/nine181","90s"; break

View file

@ -1,4 +1,3 @@
from os import sleep
from terminal import getch
import base/[term,menu]
@ -14,7 +13,6 @@ proc listener* =
R Return
Q Quit"""
while true:
sleep 100
case getch():
of '1': endMenu15 sub,"listener/listener1","Section1"; break
of '2': endMenu15 sub,"listener/listener2","Section2"; break

View file

@ -16,7 +16,6 @@ This program comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute
under certain conditions. press `t` for details"""
while true:
sleep 100
case getch():
of 'T','t':
when defined windows: exec "notepad.exe",["TERMS"], stream = true; break

View file

@ -1,4 +1,3 @@
from os import sleep
from strutils import repeat
from terminal import getch,terminalWidth
import base/[term,init,menu], notes, fm181, soma, listener
@ -28,7 +27,6 @@ G Urban
N Notes
Q Quit PMRP"""
while true:
sleep 100
case getch():
of '1': fm181(); break
of '2': endMenu3 "Blues","blues"; break

View file

@ -1,4 +1,3 @@
from os import sleep
from terminal import getch
import base/[term,menu]
@ -13,7 +12,6 @@ proc soma* =
R Return
Q Quit"""
while true:
sleep 100
case getch():
of '1': endMenu15 sub,"soma/soma1","Section1"; break
of '2': endMenu15 sub,"soma/soma2","Section2"; break