diff options
| author | Pixel <pixel@nobis-crew.org> | 2010-01-07 11:23:20 -0800 | 
|---|---|---|
| committer | Pixel <pixel@nobis-crew.org> | 2010-01-07 11:23:20 -0800 | 
| commit | 6c0f0f86aee81a1b2002c86884b6e40403262911 (patch) | |
| tree | b3f332089cf2e547b42bdcbe786cdd266ec58dc7 /dalos-cd.lua | |
| parent | 438ffb16155217a229128d3ad266d8320aba69ed (diff) | |
Adding the dvdabstract portion.
Diffstat (limited to 'dalos-cd.lua')
| -rw-r--r-- | dalos-cd.lua | 45 | 
1 files changed, 45 insertions, 0 deletions
| diff --git a/dalos-cd.lua b/dalos-cd.lua index cb0b6a7..fc1ae3d 100644 --- a/dalos-cd.lua +++ b/dalos-cd.lua @@ -47,3 +47,48 @@ dalosp.cd = {  dalos.cd = dalosp.cd.create  dalos:register_obj("CD", dalos.cd, "Basic Inputs") + +dalosp.dvd = {    +    get_settings = function (self) +        return { filename = self.extra.filename } +    end, +     +    configure = function (self) +        local dlg = iup.filedlg { +            dialogtype = "Open", +            file = self.extra.filename, +        } +        iup.Popup(dlg) +        if dlg.status ~= -1 then +            local s, v = pcall(dvdabstract, dlg.value) +            if s then +                self:set_houtput(v) +                return +            end +        end +        self:set_houtput(nil) +    end, +     +    create = function (d, tab, settings) +        tab.ninputs = 0 +        tab.noutputs = 1 +        tab.otype = dalos.objtype.HANDLE +        tab.configure = dalosp.dvd.configure +        tab.default_name = "DVD" +        tab.ntype = "DVD" +        tab.get_settings = dalosp.dvd.get_settings +        local extra = { drives_list = cdprobe() } +        if settings then extra.filename = settings.filename end +        local obj = dalos.object(d, tab, extra) + +        if extra.filename then +            local s, v = pcall(cdabstract, extra.filename) +            if s then obj:set_houtput(v) end +        end +         +        return obj +    end, +} + +dalos.dvd = dalosp.dvd.create +dalos:register_obj("DVD", dalos.dvd, "Basic Inputs") | 
