Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/VLC/share/lua/sd/   (VLC Media Plyer ©)  Datei vom 23.9.2026 mit Größe 2 kB image not shown  

Quelle  README.txt   Sprache: Text

 

## Instructions to code your own VLC Lua services discovery script.

See lua/README.txt for generic documentation about Lua usage in VLC.

Examples: See fmc.lua, frenchtv.lua

## API
VLC Lua SD modules should define two functions:
  * descriptor(): returns a table with information about the module.
    The table has the following members:
      .title: the name of the SD
      .capabilities: A list of your SD's capabilities. Only the
        following flags are supported yet:
        * 'search' : Does your SD handle search himself

    Example:
    function descriptor()
      return { title = "My SD's title", capabilities={"search"}}
    end

  * main(): will be called when the SD is started. It should use VLC's SD API
    described in lua/README.txt do add the items found.

  * search(query_string): Will be called with a string to search for
    services/medias matching that string.


User defined modules stored in the share/lua/modules/ directory are
available. Read the 'Lazy initialization' section

Available VLC specific Lua modules: input, msg, net, object, sd,
strings, variables, stream, gettext, xml. See lua/README.txt.

## Lazy Initialization

SD Lua scripts are actually ran in two different contexts/interpreters. One of
them is the one that will call your main() and search() functions. The other one
is a lighter one that will only fetch your description(). Due to threading
issues and to reduce implementation complexity (NDLR: i guess), the
description() interpreter doesn't load/expose VLC's API nor add
share/lua/modules to the lua load path (these modules are using vlc API anyway).
This has some implications to the way you need to load modules.

This means you cannot make a global/top-level require for the module you use but
instead use lazily load them from the main() and/or search() functions. Here's
an example implementation:

-------------------------------------------------------------------------------
lazily_loaded = false
dkjson        = nil

function lazy_load()
  if lazily_loaded then return nil end
  dkjson = require("dkjson")
  lazily_loaded = true
end

function descriptor()
  return { title = "..." }
end

function main()
  lazy_load()
  -- Do stuff here
end

function search(query)
  lazy_load()
  -- Do stuff here
end
-------------------------------------------------------------------------------

Messung
CHZG
879510093

¤ Dauer der Verarbeitung: 0.1 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover


Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.