youcubeapi
Lua library for accessing YouCub's API
| _API_VERSION = "0.0.0-poc.1.0.0" | "Metadata" - YouCube API Version |
|---|---|
| _VERSION = "0.0.0-poc.1.4.2" | "Metadata" - Library Version |
| _DESCRIPTION | "Metadata" - Description |
| _URL | "Metadata" - Homepage / Url |
| _LICENSE = "GPL-3.0" | "Metadata" - License |
| API | "wrapper" for accessing YouCub's API |
| AudioDevice | Abstraction for Audio Devices |
| Speaker | AudioDevice from a Speaker |
| Tape | AudioDevice from a Computronics tape_drive |
| Base64 | Base64 functions |
| Filler | Abstract object for filling a Buffer |
| AudioFiller | Filler for Audio |
| VideoFiller | Filler for Video |
| Buffer | Buffers Data |
| play_vid(buffer) | Create's a new Buffer instance. |
| reset_term() |
- _API_VERSION = "0.0.0-poc.1.0.0"
"Metadata" - YouCube API Version
- _VERSION = "0.0.0-poc.1.4.2"
"Metadata" - Library Version
- _DESCRIPTION:
string "Metadata" - Description
- _URL:
string "Metadata" - Homepage / Url
- _LICENSE = "GPL-3.0"
"Metadata" - License
- API
"wrapper" for accessing YouCub's API
Usage
Example:
local youcubeapi = require("youcubeapi") local api = youcubeapi.API.new() api:detect_bestest_server() api:request_media(url) local data = api.websocket.receive()
- AudioDevice
Abstraction for Audio Devices
- Speaker
AudioDevicefrom a SpeakerUsage
Example:
local youcubeapi = require("youcubeapi") local speaker = peripheral.find("speaker") local audiodevice = youcubeapi.Speaker.new(speaker)
- Tape
AudioDevicefrom a Computronics tape_driveUsage
Example:
local youcubeapi = require("youcubeapi") local tape_drive = peripheral.find("tape_drive") local audiodevice = youcubeapi.Tape.new(tape_drive)
- Base64
Base64 functions
- Filler
Abstract object for filling a
Buffer- AudioFiller
Fillerfor Audio- VideoFiller
Fillerfor Video- Buffer
Buffers Data
- play_vid(buffer)
Create's a new Buffer instance.
Based on sanjuuni/raw-player.lua and sanjuuni/websocket-player.lua
Parameters
- buffer
Bufferfilled with frames
- buffer
- reset_term()
Types
API
"wrapper" for accessing YouCub's API
Usage
Example:
local youcubeapi = require("youcubeapi") local api = youcubeapi.API.new() api:detect_bestest_server() api:request_media(url) local data = api.websocket.receive()
- API.new(websocket)
Create's a new API instance.
Parameters
- websocket Websocket The websocket.
Returns
APIinstance
- API:detect_bestest_server(_server, _verbose)
Connects to a YouCub Server
Parameters
- _server
- _verbose
- API.receive(filter)
Receive data from The YouCub Server
Parameters
- filter
stringaction filter
Returns
tableretval data
- filter
- API.send(data)
Send data to The YouCub Server
Parameters
- data
tabledata to send
- data
- API.get_chunk(chunkindex, id)
Request a
16 * 1024bit chunkParameters
- chunkindex
numberThe chunkindex - id
stringMedia id
Returns
byteschunk16 * 1024bit chunk
- chunkindex
- API.get_vid(line, id, width, height)
Get 32vid
Parameters
- line
numberThe line to return - id
stringMedia id - width
numberVideo width - height
numberVideo height
Returns
stringline one line of the given 32vid
- line
- API.request_media()
Request media @tparam string url Url or Search Term
Returns
tablejson response
- API.handshake()
Handshake - get Server capabilities and version
Returns
tablejson response
AudioDevice
Abstraction for Audio Devices
- AudioDevice.new(object)
Create's a new AudioDevice instance.
Parameters
- object
tableBase values
Returns
AudioDeviceinstance
- object
AudioFiller
Filler for Audio
- AudioFiller.new(youcubeapi, id)
Create's a new AudioFiller instance.
Parameters
Returns
AudioFiller|Fillerinstance
Base64
Base64 functions
- Base64.decode(str)
Decode base64 string
Parameters
- str
stringbase64 string
Returns
stringstring decoded string
- str
Buffer
Buffers Data
- Buffer.new(filler, size)
Create's a new Buffer instance.
Parameters
- filler
Fillerfiller instance - size
numberbuffer limit
Returns
Bufferinstance
- filler
Filler
Abstract object for filling a Buffer
- Filler.new()
Create's a new Filler instance.
Returns
Fillerinstance
Speaker
AudioDevice from a Speaker
Usage
Example:
local youcubeapi = require("youcubeapi") local speaker = peripheral.find("speaker") local audiodevice = youcubeapi.Speaker.new(speaker)
- Speaker.new(speaker)
Create's a new Tape instance.
Parameters
- speaker
speakerThe speaker
Returns
AudioDevice|Speakerinstance
- speaker
Tape
AudioDevice from a Computronics tape_drive
Usage
Example:
local youcubeapi = require("youcubeapi") local tape_drive = peripheral.find("tape_drive") local audiodevice = youcubeapi.Tape.new(tape_drive)
- Tape.new(tape)
Create's a new Tape instance.
Parameters
- tape
tapeThe tape_drive
Returns
AudioDevice|Tapeinstance
- tape
VideoFiller
Filler for Video
- VideoFiller.new(youcubeapi, id, width, height)
Create's a new VideoFiller instance.
Parameters
Returns
VideoFiller|Fillerinstance