RadiantPi.Kaleidescape 2.0.0

.NET 6.0
NuGet\Install-Package RadiantPi.Kaleidescape -Version 2.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
dotnet add package RadiantPi.Kaleidescape --version 2.0.0
<PackageReference Include="RadiantPi.Kaleidescape" Version="2.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RadiantPi.Kaleidescape --version 2.0.0
#r "nuget: RadiantPi.Kaleidescape, 2.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install RadiantPi.Kaleidescape as a Cake Addin
#addin nuget:?package=RadiantPi.Kaleidescape&version=2.0.0

// Install RadiantPi.Kaleidescape as a Cake Tool
#tool nuget:?package=RadiantPi.Kaleidescape&version=2.0.0

RadiantPi.Kaleidescape

KaleidescapeClient enables control of a Kaleidescape player over Telnet. The library is platform agnostic and works on Windows or Linux, including on a Raspberry Pi.

Run the dotnet command from your project folder to add the RadiantPi.Kaleidescape assembly:

dotnet add package RadiantPi.Kaleidescape

Find a description of the latest changes in the release notes.

Sample: Show Selection

The following code listens for highlighted selection events of a Kaleidescape player. When the selection changes, the Kaleidescape system is queried for details about the selection, such as title and year released, which are then shown on the console.

using System;
using RadiantPi.Kaleidescape;
using Spectre.Console;

// check if there is an environment variable for Kaleidescape player serial number or prompt for it
var deviceId = Environment.GetEnvironmentVariable("KPLAYER_SERIAL_NUMBER");
if(string.IsNullOrEmpty(deviceId)) {
    deviceId = AnsiConsole.Ask<string>("Enter Kaleidescape Player Serial Number:");
}

// initialize client
using KaleidescapeClient client = new(new() {
    Host = "192.168.1.147",
    Port = 10000,
    DeviceId = deviceId
});

// hook-up event handlers
client.HighlightedSelectionChanged += async delegate (object? sender, HighlightedSelectionChangedEventArgs args) {
    var details = await client.GetContentDetailsAsync(args.SelectionId);
    Console.WriteLine($"=> {details.Title} ({details.Year}) [{args.SelectionId}]");
};

// connect to device
await client.ConnectAsync();

// wait for exit
Console.WriteLine("Connected to Kaleidescape. Press ENTER to exit.");
Console.ReadLine();

Output

Connected to Kaleidescape. Press ENTER to exit.
=> The Mummy: Tomb of the Dragon Emperor (2008) [26-0.0-S_c44e532c]
=> Murder on the Orient Express (2017) [26-0.0-S_c44e8fd1]
=> Mutiny on the Bounty (1962) [26-0.0-S_ff304478]
=> My Fair Lady (1964) [26-0.0-S_c4458748]
=> My Name Is Nobody (1974) [26-0.0-S_c4514898]
=> National Lampoon's Van Wilder (2002) [26-0.0-S_c44c2ee5]
=> National Treasure (2004) [26-0.0-S_c445c6f9]
=> The Natural (1984) [26-0.0-S_c44a365d]
=> Need for Speed (2014) [26-0.0-S_c459aabd]
=> Neil Cowley Trio: Live at Montreux (2012) [26-0.0-S_c44f80d6]
=> Nerve (2016) [26-0.0-S_c4525aea]

License

This application is distributed under the GNU Affero General Public License v3.0 or later.

Copyright (C) 2020-2022 - Steve G. Bjorg

Product Versions
.NET net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.0 111 2/16/2022
1.0.0 134 12/9/2021