View Full Version : LUA DVD Jukebox in G4
FearTheDentist
September 1st, 2005, 09:41 PM
Does anybody have LUA DVD Jukebox working in G4? I'm just getting Lua script errors such as "play dvd too old: read version 4.0; expected at least 5.0". I'm really getting frustrated because I've been told to use G4 when I ask for help, but my setup doesn't even remotely work in G4, now I have no idea what to do???
Is there a way to convert a Lua 4 script to work in Lua 5?
Am I missing something?
Thanks
Rob H
September 2nd, 2005, 12:03 AM
I have a version of LDJ that mostly works fine in G4, but no installer for it yet and a couple of things don't quite work properly at the moment.
Mastiff
September 2nd, 2005, 01:00 AM
I will wait for you, Rob! 8)
FearTheDentist
September 2nd, 2005, 11:34 AM
Great, looking forward to it!
MyLastChoice
October 4th, 2005, 06:53 PM
Hi rah99,
I've been monitoring this thread and just thought I'd check to see if there has been any progress on the conversion of LDJ to Girder 4?
My G3 setup relied heavily on a version LDJ that I customized, and I'm anxious to get it up and running on G4...
If your G4 version isn't finished I'd be happy to help, as time permits, as long as you don't mind sharing what you have so far.
Just let me know.
Thanks!
Rob H
October 5th, 2005, 12:28 AM
There's not been a lot of progress recently I'm afraid - I hope to get back to it soon though.
What sort of customisations did you make?
FearTheDentist
October 5th, 2005, 04:51 PM
(searches frantically for whip....) :D
danward79
October 5th, 2005, 09:04 PM
(searches frantically for whip....) :D
I like it! :P :lol: :D
Mastiff
October 6th, 2005, 03:03 AM
A dentist who uses a whip? When did they ever need that to scare people? :wink:
FearTheDentist
October 6th, 2005, 07:14 AM
Well, I guess I don't need it, but it came with the shackles... :wink:
Mastiff
October 8th, 2005, 12:29 AM
You must have studied on the same college as my dentist! :o :-? Oh, I long for the days of pressure anesthesia without needles and laser instead of drills! :wink:
Mogulbasher
February 17th, 2006, 07:07 PM
Any news on this...Do you have a version I can play with..
I now have my parasound fully controllable so great progress being made...but need some sort of DVD collection thing
Rob H
February 18th, 2006, 12:42 AM
Nothing yet, sorry - not really had a chance to work on it lately.
mcrutescu
March 21st, 2006, 01:55 AM
:oops:
I am trying to make use of girder4 and netremote to control my satellite receiver (dreambox 7020) and the way LDJ works would be a good start for my project...
Could you please post at least what is working, like that i will not start from scratch...
Thank you in advance,
Mircea
Rob H
March 21st, 2006, 02:16 AM
LDJ isn't quite right for that purpose - I do have another nearly complete project that is intended for exactly that purpose however. Let me see if I can finish it when I have a bit of spare time (!)
kurtlewis
March 21st, 2006, 03:46 AM
Awesome- I'm just getting around to working on this as well - Now I know why I couldn't get it to work on G4.. would love to have it!
mcrutescu
March 24th, 2006, 02:28 AM
What i'm trying do get:
The Dreambox can be driven by http requests.
With a list of channels downloaded from the dreambox (from wich i can construct the needed url command) and a folder filled out with the channel icons... I would like to make Girder read the list file, attach the coresponding icon and send the whole thing in a NR loop...
Like that, when clicking on the icon on NR, i trigger Girder to send the url...
Honestly, i do not know where to begin... I'm staring at my new empty gml, empty ccf and empty lua files...
:oops:
Rob H
March 24th, 2006, 03:10 AM
Here's a bit of Lua that might help with displaying the list in NetRemote.
I really need to document this properly but here are the basics
You create a ListManager as follows
ChannelListMgr = ListManager:New(ipOrGUID, 'Channels', 15, channelTable)
ipOrGUID is the IP address/hostname or GUID of a NetRemote client
'Channels' is the base label
15 is the number of channels per page
channelTable is a table containing your channels indexed numerically.
If your table only contains strings then that's almost all that's required. If it contains tables each with a field called either 'name' or 'Name' then that's almost it as well.
If you want to display more data from the tables contained in channelTable then you need to write a simple function e.g.
function PaintChannel(manager, channel, index)
local address = manager.Address
NetRemote.ClientSetImage(address, 'ChannelImage_'..index, channel.Image)
NetRemote.ClientSetVariable(address, 'ChannelName_..index, channel.Name)
end
and then bind it to the OnPaint event of the manager like this
ChannelListMgr.OnPaint = PaintChannel
You'll need to create event handlers for the scroll up and scroll down functions which should call ChannelListMgr:ScrollUp() and ChannelListMgr:ScrollDown().
In your CCF you'll need a looped frame containing a frame with the ChannelImage_<LoopIndex> and ChannelName_<LoopIndex> buttons, and buttons to scroll up and down the list that send the events that you created earlier.
Hope that gives you a start - if you have any questions feel free to ask.
mircea
March 25th, 2006, 04:36 AM
:) Thanks,
I have a bit of code:
require ("NetRemote")
require ("Threaded NetRemote Feedback")
require ("ListManager")
ChannelsFile="\\\\home11\\f$\\wwwdb\\dreambox_girder_config_file .txt"
IconDirectory="\\\\home11\\f$\\wwwdb\\logos"
Private.Clients = {}
ChannelsTable = {}
local line
local i=1
local ChannelLine = ""
function PaintChannel(manager, channel, index)
local address = manager.Address
NetRemote.ClientSetImage(address, 'ChannelImage_'..index, IconDirectory.."\\"..channel.Image)
NetRemote.ClientSetVariable(address, 'ChannelName_'..index, channel.Name)
end
local fh = io.open(ChannelsFile,"r")
if (fh) then
for line in fh:lines() do
ChannelLine = string.Split(line, "|")
table.insert (ChannelsTable, i, {bouquet=ChannelLine[1],no=ChannelLine[2],id=Chann elLine[5],name=ChannelLine[4],group=ChannelLine[3] ,image=ChannelLine[6]})
print (i, line)
i=i+1
end
io.close(fh)
end
ChannelListMgr = ListManager:New("localhost", 'Channels', 15, ChannelsTable)
ChannelListMgr.OnPaint = PaintChannel
and the loop frame in NR.
How do i bind the buttons?
I presume i have to call the OnPaint method somehow...
Thank you in advance!
Rob H
March 25th, 2006, 08:46 AM
The list manager will call OnPaint automatically when the list is scrolled or if you change the data yourself then you can call ChannelListMgr:RefreshList()
In your up button you'll send Girder an event called e.g. ChannelsUp and in your GML you'll have an event handler for ChannelsUp that is a script that calls ChannelListMgr:ScrollUp()
mircea
March 25th, 2006, 10:45 AM
:(
step by step...
i do no get a thing in the buttons when i open the NR page containing the LOOP...
in the girder log:
Refreshing list
127.0.0.1 ChannelName_1 CANAL+ \\home11\f$\wwwdb\logos\\\home11\f$\wwwdb\logos\CA NALplus.jpg
127.0.0.1 ChannelName_2 CANAL+ CINEMA \\home11\f$\wwwdb\logos\\\home11\f$\wwwdb\logos\CA NALplus_CINEMA.jpg
127.0.0.1 ChannelName_3 CANAL+ SPORT \\home11\f$\wwwdb\logos\\\home11\f$\wwwdb\logos\CA NALplus_SPORT.jpg
127.0.0.1 ChannelName_4 CANAL+ DECALE \\home11\f$\wwwdb\logos\\\home11\f$\wwwdb\logos\CA NALplus_DECALE.jpg
127.0.0.1 ChannelName_5 CANAL+ HI-TECH \\home11\f$\wwwdb\logos\\\home11\f$\wwwdb\logos\CA NALplus_HI-TECH.jpg
127.0.0.1 ChannelName_6 FRANCE 2 \\home11\f$\wwwdb\logos\\\home11\f$\wwwdb\logos\FR ANCE2.jpg
127.0.0.1 ChannelName_7 FRANCE 3 \\home11\f$\wwwdb\logos\\\home11\f$\wwwdb\logos\FR ANCE3.jpg
127.0.0.1 ChannelName_8 FRANCE 4 \\home11\f$\wwwdb\logos\\\home11\f$\wwwdb\logos\FR ANCE4.jpg
127.0.0.1 ChannelName_9 FRANCE 5 \\home11\f$\wwwdb\logos\\\home11\f$\wwwdb\logos\FR ANCE5.jpg
127.0.0.1 ChannelName_10 ARTE \\home11\f$\wwwdb\logos\\\home11\f$\wwwdb\logos\AR TE.jpg
127.0.0.1 ChannelName_11 PARIS PREMIERE \\home11\f$\wwwdb\logos\\\home11\f$\wwwdb\logos\PA RIS_PREMIERE.jpg
127.0.0.1 ChannelName_12 FRANCE Ô \\home11\f$\wwwdb\logos\\\home11\f$\wwwdb\logos\FR ANCE_O.jpg
127.0.0.1 ChannelName_13 OLTV \\home11\f$\wwwdb\logos\\\home11\f$\wwwdb\logos\
127.0.0.1 ChannelName_14 RTBF SAT \\home11\f$\wwwdb\logos\\\home11\f$\wwwdb\logos\RT BF_SAT.jpg
127.0.0.1 ChannelName_15 TF1 \\home11\f$\wwwdb\logos\\\home11\f$\wwwdb\logos\TF 1.jpg
Trying ChannelsSelection=
topmost = 1 pos = 0 items = 230
Trying Channels_Pos=0
and some warnings that
"Netremote no client at localhost"
mircea
March 25th, 2006, 11:23 AM
:-? i think it cannot find the NR (specified as "localhost")
i have tried with the real IP adress, or the host name - same behaviour...
how can i get the NR GUID when it connects?
Thanks again,
Mircea
Rob H
March 25th, 2006, 01:57 PM
As a quick test for the moment can you use the non-Client versions ie NetRemote.SetImage and NetRemote.SetVariable
mircea
March 25th, 2006, 10:51 PM
ok for the button names
NR crashes when sending the images...
Rob H
March 25th, 2006, 11:16 PM
NR Crashes? What error? And what version of NR?
mircea
March 25th, 2006, 11:25 PM
NR 1.5.1.61, no specific error
but i think it's related to the initial size of the button...
I left one page with the names and created a second page with the images, made the loop button bigger, put no initial image - now it does not crash, but the buttons are not getting the images....
:(
mircea
March 26th, 2006, 04:21 AM
:(
moving what i have done until now on the server running G4.0.1, i have LUA errors @ startup concerning netremote.lua:
EventHandler: ... Files (x86)\Promixis\Girder\luascript\NetRemote.lua:9 68: attempt to call method `RemoteInstance' (a nil value)
stack traceback:
... Files (x86)\Promixis\Girder\luascript\NetRemote.lua:9 68: in function <... Files (x86)\Promixis\Girder\luascript\NetRemote.lua:9 67>
... Files (x86)\Promixis\Girder\luascript\NetRemote.lua:1065 : in function <... Files (x86)\Promixis\Girder\luascript\NetRemote.lua:1 061>
... Files (x86)\Promixis\Girder\luascript\NetRemote.lua:1150 : in function <... Files (x86)\Promixis\Girder\luascript\NetRemote.lua:1 134>
Rob H
March 26th, 2006, 04:52 AM
You need to be running a later version of Girder 4 than that. 4.0.3 at least I think.
mircea
March 26th, 2006, 05:33 AM
:(
Then i have an issue, because on the server i cannot run the G4.0.4, it hangs @ startup - 100% processor usage, nothing happens!
:(
Rob H
March 26th, 2006, 06:54 AM
Did you try removing plugins as I suggested?
mircea
March 26th, 2006, 11:06 AM
yes... i'll keep this issue into the other thread (G4.0.4)....
until then i'll continue trying to solve also the "Image" issue on my laptop, where G4.0.4 works very well...
Thanks again,
Mircea
mcrutescu
March 26th, 2006, 11:51 PM
:oops:
Found the problem... didn't realised that i have to add the "ChannelImage_<LoopIndex>" into the Image Variable property of the button!!!
Thanks again for the help!
mircea
March 27th, 2006, 01:16 AM
In a file located in the G4 startup, i have the code to read my channels file, fill the ChannelsTable with the data, and define the Paint function:
function PaintChannel(manager, channel, index)
local address = manager.Address
NetRemote.ClientSetVariable(address, 'ChannelName_'..index, channel.Name)
end
In the NR-associated LUA file:
function OnCCFLoad()
NetRemote.ExecuteAction(-1,0,1,"NR.StartUp");
end;
i trigger an event, in order to get in G4, in pld2, the NR Ip adress, create the list, associate the Paint function and do the first refresh:
ChannelListMgr = ListManager:New(pld2, 'Channels', 30, ChannelsTable)
ChannelListMgr.OnPaint = PaintChannel
ChannelListMgr:RefreshList()
on scrollup and down events, just call the ChannelListMgr.scrollxx functions.
Everything seems ok, but:
for testing purposesi have limited my channel list to 40 items.
the LOOP frame contains 30 items per page.
as you can see in the creation of the ChannelListManager i have also specified "30".
The first screen looks ok, and the lua console says:
Refreshing list
Trying ChannelsSelection=
topmost = 1 pos = 0 items = 40
Trying Channels_Pos=0
but when calling the scrolldown, it displays the remaining 10 items, then it throws 20 OnPaint erros:
Refreshing list
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Error in OnPaint :- ...Files\Promixis\Girder\/luascript/startup/satlist.lua:50: attempt to index local `channel' (a nil value)
Trying ChannelsSelection=
topmost = 31 pos = 75 items = 40
Trying Channels_Pos=75
and, of course, the 20 orespoding buttons will contain the old labels...
If i press again the scrolldown, then it aligns the list at the bottom, and the log says:
Tried to wrap round
Refreshing list
Trying ChannelsSelection=
topmost = 11 pos = 25 items = 40
Trying Channels_Pos=25
:roll:
any hint?
Rob H
March 27th, 2006, 05:12 AM
Try this for your paint function instead
function PaintChannel(manager, channel, index)
local address = manager.Address
local name = (channel and channel.name) or ''
NetRemote.ClientSetVariable(address, 'ChannelName_'..index, name)
end
mircea
March 27th, 2006, 05:45 AM
:( no more labels on the buttons...
mircea
March 27th, 2006, 06:33 AM
:) just added
NetRemote.ClientSetVariable(address, 'ChannelName_'..index, " ")
in front of the real label ...
not so nice coding, but it works!
Rob H
March 27th, 2006, 06:51 AM
Oops - I used channel.name instead of channel.Name
mircea
March 27th, 2006, 10:48 AM
Thanls again, now it runs on the server, i have created a second listmanager for a page containing just the channels logos (as i want a diff table layout) and it's behaving very wel!!
Thanks a lot for your help!
Mircea
Rob H
March 27th, 2006, 11:04 AM
Not a problem, glad you have it working.
Powered by vBulletin® Version 4.1.8 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.