Our new official repo is on github
LCD Smartie version 5.6 is released!
Download it now: https://github.com/LCD-Smartie/LCDSmartie/releases

PVR and ZoomPlayer Screens

Here you can post your screen ideas and your skins.

Moderators: _X7JAY7X_, caesar, IFR, mattcro, limbo

Post Reply
jonny
Posts: 48
Joined: December 18th, 2005, 5:50 am

PVR and ZoomPlayer Screens

Post by jonny »

Having Finally gotten everything I want working on these three screens, I thought I might pass them on so others can use all (or parts) of them. I use GBPVR for a pvr, but basically only use it to schedule recordings. I dont even run the tray ap now that I have the status coming up on my lcd. To view video, I use ZoomPlayer. The plugin for ZP is hurting a bit, so I had to do some creative stuff to get what I wanted displayed on the screen.

First, the Recording In Progress Screen:

Line 1 (It's long...I know, but if you copy and paste, make sure not to include the last space in the line, it should end with a ")"
Recording For:$Right($dll(round.dll,1,$dll(demo.dll,3,.6,$dll(demo.dll,2,$dll(demo.dll,5,$dll(demo.dll,5,0,$dll(cut.dll,1,1#1,$dll(demo.dll,3,$File("C:\Program files\devnz\gbpvr\inprogress.txt",5),$dll(demo.dll,4,5,3)))),$File("C:\Program Files\devnz\gbpvr\inprogress.txt",4)),$dll(demo.dll,5,$dll(demo.dll,3,$Time(nn),$dll(demo.dll,4,5,3)),$Time(hh)))),0)min,$6%)
Line 2
-$File("C:\Program Files\devnz\gbpvr\inprogress.txt",1)-
Line 3
-$File("C:\Program Files\devnz\gbpvr\inprogress.txt",2)-
Line 4
Complete at $File("C:\Program Files\devnz\gbpvr\inprogress.txt",3)
[EDIT: There was a problem with the first line that I fixed, it can now be copy and pasted into smartie.]
Image

The first line of this is long because it takes the finished recording time from a file (that I'll talk about later), parses it into hours and minutes, converts these numbers into decimal (base 10 not base 60) and subtracts to present time from the finish time. This was the only way I could think of to get constantly updated remaining time.
The text file has this format:
Title
SubTitle
EndTime
{EndTime:HH}
{EndTime:mm}

Second, the upcoming recordings screen:

Next Recording:
-$dll$File(C:\program files\devnz\gbpvr\pending.txt,1)-
$File(C:\program files\devnz\gbpvr\pending.txt,2)
$File(C:\program files\devnz\gbpvr\pending.txt,3)
Image
Pretty simply just reading from text files. The text files for GBPVR come from a command line utility that accesses the GBPVR database directly, and is run in parallelprocessing.bat to get the current recording and upcoming recordings, and the inprogress.txt is deleted in postprocessing.bat. This great utility was expertly made by Mister Slimm, and can be found here.
The text file has this format:
Title
StartTime - EndTime
Date


Finally, the ZoomPlayer Screen:

line 1
-$dll(splittitle.dll,11,$dll(cut.dll,1,17#50,$dll(dvdplug.dll,1,1,param2)),-)-
line 2 (flashes current time once every ten seconds with enallax.dll)
-$dll(sandr,1,$dll(enallax,12,$dll(splittitle.dll,12,$dll(cut.dll,1,17#50,$dll(dvdplug.dll,1,1,param2)),-),$Time(h:nn am/pm)),)-
line 3
-$dll(sandr,1,$dll(splittitle.dll,13,$dll(cut.dll,1,17#50,$dll(dvdplug.dll,1,1,param2)),-),)-
line 4 (another long one)
$dll(cut.dll,1,1#5,$dll(splittitle.dll,11,$dll(splittitle.dll,11,$dll(dvdplug.dll,1,1,param2),-),/))$CustomChar(7,1,3,7,15,15,7,3,1)
$Chr(135)$Bar($dll(cut.dll,1,1#2,$dll(sandr.dll,1,$dll(splittitle.dll,11,$dll(splittitle.dll,11,$dll(dvdplug.dll,1,1,param2),-),/),)),
$dll(cut.dll,1,1#2,$dll(sandr.dll,1,$dll(splittitle.dll,12,$dll(splittitle.dll,11,$dll(dvdplug.dll,1,1,param2),-),/),)),8)$CustomChar
(8,16,24,28,30,30,28,24,16)$Chr(136)$dll(splittitle.dll,12,$dll(splittitle.dll,11,$dll(dvdplug.dll,1,1,param2),-),/)
Image
I had to play with the zoomplayer plugin a bit to get what I wanted. The only output i could get from the plugin is using $dll(dvdplug.dll,1,1,param2), which gives whatever is along the on screen graphic in zoom player. I set that graphic to have the format: (elapsed time)/(total time) - (File Name). My video files are named with this format: (title) - (Season and Episode Number) - (Subtitle)

The fourth line of this screen uses the elapsed time and total time, but I had to only use the minutes part of that time for the bar. So, the input for the bar in this screen is $Bar(19,42,8), and it has two custom characters on either end of the bar.

I use sandr.dll to replace all ******** characters with a | (from splittitle when it doesnt find an input. )

Whew! That was a mouthful...
If anyone is interested in how I did the GBPVR stuff, just PM me and I will send a copy of the batch files, and how to implement them.

jonny
Posts: 48
Joined: December 18th, 2005, 5:50 am

Post by jonny »

I thought I would post the batch files for these screens here, with explainations:

These lines should be added to the appropriate batch files in the gbpvr directory:

Paralleprocessing.bat

Code: Select all

gbpvrcli.exe /inprogress 1 /message "{Status}\n{Title}\n{SubTitle}\n{EndTime:t}\n{EndTime:HH}\n{EndTime:mm}">inprogress.txt
gbpvrcli.exe /pending 3 /message "{Title}\n{StartDate:ddd}\n{StartTime:t} - {EndTime:t}">pending.txt
Postprocessing.bat

Code: Select all

datecheck.bat "c:\program files\devnz\gbpvr\inprogress.txt"

The datecheck.bat file should be created and dropped into the gbpvr directory.


Paralleprocessing calls the slimmcli program that i mentioned in the last post, and puts the recording info into two files: pending.txt and inprogress.txt. These files are what smartie reads for the screens i show above. At the end of the recording, postprocessing.bat runs and starts datecheck.bat. Datecheck will check to see when the inprogress.txt file was last written to. If it was more than ten minutes ago, it will replace the information in inprogress.txt with "sleeping" (you can use this for an action in smartie to show the screen only when the file does not read "sleeping") If it was in the last ten minutes, nothing happens. This check ensures that everything will work properly with back to back recordings.

EDIT-- i now use an auto-it script to do the function of this following batch file. if anyone wants to use it, you can download it.
Datecheck.bat

Code: Select all

@ECHO OFF
set FULLDATE=%~t1
FOR /F "usebackq tokens=1,2,3 delims=:. " %%A in ('%TIME%') do CALL :ONE %%A %%B
goto eof

:ONE
::GETTING RID OF LEADING ZERO
IF %1 == 01 (SET FILEHOUR=1)
IF %1 == 02 (SET FILEHOUR=2)
IF %1 == 03 (SET FILEHOUR=3)
IF %1 == 04 (SET FILEHOUR=4)
IF %1 == 05 (SET FILEHOUR=5)
IF %1 == 06 (SET FILEHOUR=6)
IF %1 == 07 (SET FILEHOUR=7)
IF %1 == 08 (SET FILEHOUR=8)
IF %1 == 09 (SET FILEHOUR=9)
IF %1 == 10 (SET FILEHOUR=10)
IF %1 == 11 (SET FILEHOUR=11)
IF %1 == 12 (SET FILEHOUR=12)
IF %1 == 13 (SET FILEHOUR=1) 
IF %1 == 14 (SET FILEHOUR=2) 
IF %1 == 15 (SET FILEHOUR=3) 
IF %1 == 16 (SET FILEHOUR=4) 
IF %1 == 17 (SET FILEHOUR=5) 
IF %1 == 18 (SET FILEHOUR=6) 
IF %1 == 19 (SET FILEHOUR=7) 
IF %1 == 20 (SET FILEHOUR=8) 
IF %1 == 21 (SET FILEHOUR=9) 
IF %1 == 22 (SET FILEHOUR=10) 
IF %1 == 23 (SET FILEHOUR=11) 
IF %1 == 24 (SET FILEHOUR=12)


::SETTING THE TIME RANGE
SET /A ADJ = %FILEHOUR%%2 - 5

:THREE
::CHANGING MILITARY TIME TO REGULAR TIME
IF %FULLDATE:~11,2%==01 SET HOUR=1
IF %FULLDATE:~11,2%==02 SET HOUR=2
IF %FULLDATE:~11,2%==03 SET HOUR=3
IF %FULLDATE:~11,2%==04 SET HOUR=4
IF %FULLDATE:~11,2%==05 SET HOUR=5
IF %FULLDATE:~11,2%==06 SET HOUR=6
IF %FULLDATE:~11,2%==07 SET HOUR=7
IF %FULLDATE:~11,2%==08 SET HOUR=8
IF %FULLDATE:~11,2%==09 SET HOUR=9
IF %FULLDATE:~11,2%==10 SET HOUR=10
IF %FULLDATE:~11,2%==11 SET HOUR=11
IF %FULLDATE:~11,2%==12 SET HOUR=12
IF %FULLDATE:~11,2%==13 SET HOUR=1
IF %FULLDATE:~11,2%==14 SET HOUR=2
IF %FULLDATE:~11,2%==15 SET HOUR=3
IF %FULLDATE:~11,2%==16 SET HOUR=4
IF %FULLDATE:~11,2%==17 SET HOUR=5
IF %FULLDATE:~11,2%==18 SET HOUR=6
IF %FULLDATE:~11,2%==19 SET HOUR=7
IF %FULLDATE:~11,2%==20 SET HOUR=8
IF %FULLDATE:~11,2%==21 SET HOUR=9
IF %FULLDATE:~11,2%==22 SET HOUR=10
IF %FULLDATE:~11,2%==23 SET HOUR=11
IF %FULLDATE:~11,2%==24 SET HOUR=12

::COMPARING THE TIMES
IF /I %HOUR%%FULLDATE:~14,2% LSS %ADJ% (GOTO :FINISH) ELSE GOTO :EXIT

:EXIT
SET HOUR=
SET FILEHOUR=
SET ADJ=
goto eof

:FINISH
del inprogress.txt
sleep 1
echo.sleeping>inprogress.txt

:eof
exit

error2061
Posts: 2
Joined: January 21st, 2008, 4:05 pm

Zoom player

Post by error2061 »

hello i hve been trying to get the zoom player plugin to display track name and time. or just what you have alredy done.

what zoom player are you useing and what am i doing wrong

thanks in advance

Regards
Jordan

locki
Posts: 8
Joined: January 13th, 2008, 7:09 pm

Post by locki »

heloo

i have trouble find:

splittitle.dll
cut.dll
sandr.dll

can someone post here link to download this dlls ?

limbo
Plugin Author
Posts: 1604
Joined: February 13th, 2005, 7:38 pm
Location: Athens - Greece
Contact:

Post by limbo »

locki wrote:heloo

i have trouble find:

splittitle.dll
cut.dll
sandr.dll

can someone post here link to download this dlls ?
http://www.eserver.gr

Post Reply