UXAV.AVnet.Core 2.0.0

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package UXAV.AVnet.Core --version 2.0.0
NuGet\Install-Package UXAV.AVnet.Core -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.
<PackageReference Include="UXAV.AVnet.Core" Version="2.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add UXAV.AVnet.Core --version 2.0.0
#r "nuget: UXAV.AVnet.Core, 2.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install UXAV.AVnet.Core as a Cake Addin
#addin nuget:?package=UXAV.AVnet.Core&version=2.0.0

// Install UXAV.AVnet.Core as a Cake Tool
#tool nuget:?package=UXAV.AVnet.Core&version=2.0.0

<p align="center"> <img src="docs/assets/avnet_logo.svg"> </p>

<h1 align="center">AVnet Core</a></h1>

<p align="center">An open-source Crestron SimplSharp Pro framework for Crestron control systems</p>

<p align="center"> <img alt="Status" src="https://img.shields.io/github/actions/workflow/status/uxav/AVnetCore/test.yml?branch=main&style=flat&logo=github&label=status"> <img alt="NuGet Version" src="https://img.shields.io/nuget/v/UXAV.AVnet.Core?style=flat&logo=nuget"> <img alt="Downloads" src="https://img.shields.io/nuget/dt/UXAV.AVnet.Core?style=flat&logo=nuget"> <img alt="Issues" src="https://img.shields.io/github/issues/uxav/AVnetCore?style=flat&logo=github"> <img alt="Pull Requests" src="https://img.shields.io/github/issues-pr/uxav/AVnetCore?style=flat&logo=github"> <img alt="Licnse" src="https://img.shields.io/github/license/uxav/AVnetCore?style=flat"> </p>

<p align="center"><a href="https://uxav.github.io/AVnetCore">Explore Docs</a></p>

Index

Quick Start

To use this test library in your project, follow these steps:

  1. Install the package via NuGet. You can use the following command in the Package Manager Console:

     dotnet add [<PROJECT>] package UXAV.AVnet.Core
    
  2. Import the library classes in your code file(s):

    using UXAV.AVnet.Core.Models;
    using UXAV.AVnet.Core.Models.Diagnostics;
    using UXAV.Logging;
    
  3. Create a class that inherits from SystemBase:

    public class MySystem : SystemBase
    {
       public MySystem(CrestronControlSystem controlSystem) : base(controlSystem)
       {
          // create all your instance logic here and any instances of rooms, devices or 
       }
    
       protected override void AppShouldRunUpgradeScripts()
       {
          // called when the program starts with a new version number
       }
    
       protected override void OnProgramStatusEventHandler(eProgramStatusEventType eventType)
       {
          if (eventType == eProgramStatusEventType.Stopping)
          {
             // anything you need to save, disconnect or stop... the program is stopping
          }
       }
    
       protected override IEnumerable<DiagnosticMessage> GenerateDiagnosticMessages()
       {
          return new DiagnosticMessage[]
          {
             // add any diagnostic messages here,
             // this is called for when the system needs to update the
             // status of stuff or the dashboard app requests it
          };
       }
    
       protected override void SystemShouldAddItemsToInitialize(Action<IInitializable> addItem)
       {
          addItem(myDeviceWithInitialization);
          addItem(myOtherDeviceWithInitialization);
       }
    
       protected override void WebScriptingHandlersShouldRegister()
       {
          // any web scripting handlers for API's can and should register here (see docs)
       }
    }
    
  4. Load and Initialize your main instance of system

    public class ControlSystem : CrestronControlSystem
    {
       private readonly SystemBase _mySystem;
    
       public ControlSystem()
       {
          try
          {
             // create your instance of MySystem
             _mySystem = new MySystem(this);
          }
          catch (Exception e)
          {
             Logger.Error(e);
          }
       }
    
       public override void InitializeSystem()
       {
          try
          {
             // start the initializing of MySystem
             _mySystem?.Initialize();
          }
          catch (Exception e)
          {
             Logger.Error(e);
          }
       }
    }
    

GitHub Repository: AVnetCore

NuGet Package: UXAV.AVnet.Core

Dependencies

Release Notes

v2.0.0

  • Reconfigured workspace to new style SDK format and added support for .NET 6.0
  • MidnightNotifier removed completely, use a CronJob

Documentation

Documentation can be viewed in GitHub Pages

Contributing

Contributions are welcome! If you would like to contribute to this project, please follow these guidelines:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them.
  4. Push your changes to your forked repository.
  5. Submit a pull request to the main repository.

Please ensure that your code follows the project's coding conventions and includes appropriate tests.

  • For feature branches use the name feature/feature-name
  • Version numbers are checked against existing tags and fail CI on match

Thank you for your interest in contributing to this project!

License

This project is licensed under the MIT License.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Framework net472 is compatible.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (12)

Showing the top 5 NuGet packages that depend on UXAV.AVnet.Core:

Package Downloads
UXAV.AVnet.DashboardWebApp

WebApp for AVnet Core

UXAV.AVnet.QSC

SimplSharp QSys Library

UXAV.AVnet.Cisco

Cisco Room product control library

UXAV.AVnet.Crestron.Nvx

Package Description

UXAV.AVnet.Biamp

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.1-rc-1 140 3/19/2024
2.0.0 156 3/17/2024
2.0.0-rc-3 71 3/17/2024
2.0.0-rc-2 70 3/17/2024
2.0.0-rc-1 73 3/16/2024
2.0.0-beta-9 87 3/15/2024
2.0.0-beta-8 68 3/15/2024
2.0.0-beta-7 74 3/15/2024
2.0.0-beta-6 71 3/14/2024
2.0.0-beta-5 116 3/14/2024
2.0.0-beta-4 45 3/14/2024
2.0.0-beta-3 59 3/14/2024
2.0.0-beta-2 83 3/13/2024
2.0.0-beta-1 105 3/12/2024
1.13.0 81 3/15/2024
1.13.0-beta-05 74 3/15/2024
1.13.0-beta-04 58 3/8/2024
1.13.0-beta-03 56 3/8/2024
1.13.0-beta-02 69 3/8/2024
1.13.0-beta-01 66 3/8/2024
1.12.3 234 2/16/2024
1.12.2 133 2/16/2024
1.12.1 600 2/8/2024
1.12.0 550 2/8/2024
1.11.2 291 1/8/2024
1.11.1 286 12/13/2023
1.11.0 350 11/3/2023
1.10.3 408 10/13/2023
1.10.2 365 10/11/2023
1.10.1 402 10/3/2023
1.10.0 388 10/2/2023
1.9.3 371 9/22/2023
1.9.2 401 9/11/2023
1.9.1 378 9/10/2023
1.9.0 483 8/28/2023
1.8.2 541 6/12/2023
1.8.1 645 3/22/2023
1.8.0 666 2/8/2023
1.7.0 7,973 12/8/2022
1.6.1 640 12/6/2022
1.6.0 644 12/6/2022
1.5.0 861 7/5/2022
1.4.2 815 6/28/2022
1.4.1 771 6/17/2022
1.4.0 7,489 6/5/2022
1.3.0 795 5/25/2022
1.2.4 886 5/6/2022
1.2.4-beta-03 552 5/6/2022
1.2.4-beta-02 532 4/27/2022
1.2.4-beta-01 528 4/20/2022
1.2.3-beta-03 534 4/6/2022
1.2.3-beta-02 534 4/6/2022
1.2.3-beta-01 525 4/4/2022
1.2.2 4,815 3/8/2022
1.2.2-beta-04 483 3/6/2022
1.2.2-beta-03 505 3/4/2022
1.2.2-beta-02 545 2/24/2022
1.2.2-beta-01 540 2/18/2022
1.2.1-beta-02 3,186 11/25/2021
1.2.1-beta-01 575 11/15/2021
1.2.0-beta-02 532 11/3/2021
1.2.0-beta-01 535 11/3/2021
1.1.0-beta-02 559 10/5/2021
1.1.0-beta-01 1,603 9/27/2021
1.0.12 775 9/14/2021
1.0.12-beta-02 567 9/14/2021
1.0.12-beta-01 585 9/14/2021
1.0.11-beta-01 612 8/25/2021
1.0.10 1,997 8/18/2021
1.0.10-beta-06 539 8/16/2021
1.0.10-beta-05 569 8/16/2021
1.0.10-beta-04 592 8/4/2021
1.0.10-beta-03 562 8/4/2021
1.0.10-beta-02 579 8/4/2021
1.0.10-beta-01 572 8/4/2021
1.0.5-beta-02 3,312 7/29/2021
1.0.5-beta-01 1,677 7/28/2021
1.0.4-beta-03 665 7/27/2021
1.0.4-beta-02 549 7/21/2021
1.0.4-beta-01 570 7/20/2021
1.0.3-beta-02 578 7/6/2021
1.0.3-beta-01 576 7/5/2021
1.0.2 783 6/28/2021
1.0.2-beta-02 622 6/21/2021
1.0.2-beta-01 573 6/16/2021
1.0.1 749 6/15/2021
1.0.1-beta-02 619 6/15/2021
1.0.1-beta-01 582 6/15/2021
1.0.0 3,263 6/4/2021
1.0.0-beta-29 561 6/4/2021
1.0.0-beta-28 582 6/4/2021
1.0.0-beta-27 611 5/25/2021
1.0.0-beta-26 583 5/24/2021
1.0.0-beta-25 596 5/24/2021
1.0.0-beta-24 1,082 5/19/2021