Skip to content
This repository has been archived by the owner on Dec 7, 2023. It is now read-only.

Latest commit

 

History

History
134 lines (114 loc) · 5.55 KB

CHANGELOG.md

File metadata and controls

134 lines (114 loc) · 5.55 KB

Changelog

All notable changes to this project will be documented in this file. I'm trying to keep it up to date, but I'm a lazy bastard - when in doubt - check out the commit log ;-)

[0.4.0] - 2019-06-28

Changed

  • Prepare for netstandard2 release
  • Switch to HidSharp (because of netstandard support)
  • Change the stream deck Xl jpg encoder (the old one was from WPF, which is not supported on netstandard)
  • Switch to new csproj format and embedded nuspec
  • Remove old build stuff (switched to nuke.build)

[0.3.3] - 2019-06-21

Added

  • Stream Deck XL now correctly
    • reports firmware version
    • reports serial number
    • shows the logo
    • sets the brightness

Changed

  • It's now possible to open devices without caching (not recommended)
  • Lower key cooldown for Mini and XL variant, because they don't suffer from images glitches like the classic stream deck. This improves the framerate for cached handles (try the video example ^^)
  • IHardware now has a DeviceName property
  • Cleaned up a lot of things

[0.3.2] - 2019-06-19

Added

  • Support for Stream Deck XL 🎉

[0.3.1] - 2019-01-26

Added

  • Implement GridKeyPositionCollection to make dealing with keyboard layouts simpler
  • New IStreamDeckBoard for easier access to GridKeyPositionCollection Keys (Use pattern matching on IMacroBoard to get GridKeyPositionCollection)
  • Methods to get serialnumber and firmware version from IStreamDeckBoard

Changed

  • Change nuget package to license expression

[0.2.0] - 2018-08-25 - OpenMacroBoard 🎉

Elgato Systems released the "Stream Deck Mini" a few weeks ago so I decided to refactor StreamDeckSharp and use a more generic approach that makes it possible to implement many different macro boards (with LCD buttons) - even ones with buttons that are not placed in a grid layout (like keyboards).

Because of this changes I decided to split StreamDeckSharp into a generic part called OpenMacroBoard.SDK and the StreamDeck specific part still called StreamDeckSharp and to change the organization name from OpenStreamDeck to OpenMacroBoard to reflect the generic nature.

Added

  • OpenMacroBoard.VirtualBoard to allow developing software for macro boards (eg. Stream Deck) without real hardware.
  • A bunch of unit tests
  • IKeyBitmapDataAccess to retrieve raw RGB data from KeyBitmaps
  • IKeyPositionCollection to allow for complex key layouts.
  • DrawFullScreenExtension is now part of the library (instead of just an example project)
  • More unit tests
  • Support for different LCD key resolutions

Changed

  • Interface name IStreamDeck to IMacroBoard
  • KeyId order for the stream deck changed to be more intuitive (left-to-right and top-to-bottom)

[0.1.10] - 2018-04-30

Added

  • StreamDeck.EnumerateDevices to discover all connected StreamDeck devices.

[0.1.9] - 2018-02-09

Added

  • KeyBitmaps now overrides Equals, GetHashCode, == and != and implements IEquatable<KeyBitmap>

Changed

  • Renamed many classes
    (remove "StreamDeck"-prefix, thats what namespaces are for)
  • Moved examples to separate repository

Fixed

  • Image glitches
    Use the same buffer for hid reports and added a cooldown of 75ms for each key, this should prevent reuse of memory before async (overlapped) write is finished

[0.1.8] - 2018-01-29

Added

  • Example "DrawFullScreen"
    (Shows how to draw a single image that spans over all 15 keys)
    You should check out the video demo in the wiki ;-)

Fixed

  • Button Images created with FromRawBitmap are now correctly flipped

[0.1.7] - 2018-01-29

Changed

  • HidLibrary optimizations (thanks to Sam Messina)
    • Don't copy write buffer.
    • Remove EventMonitor
    • Add DeviceChangeNotifier (no more polling)
  • Number of write threads changed to one.

[0.1.6] - 2018-01-27

Changed

  • Target Framework now .Net 4.0
    (XP should in theory be supported now ^^)
  • Remove async/await methods in HidLibrary to support 4.0

[0.1.4] - 2018-01-27

Changed

  • IStreamDeck no longer supports raw bitmap as argument.
    (Use StreamDeckKeyBitmap.FromRawBitmap) instead
  • Factory methods for GDI and WPF stuff moved to StreamDeckKeyBitmap
  • Update "Drawing" example to reflect that.

[0.1.3] - 2018-01-27

Added

  • New extension method for IStreamDeck to apply raw bitmap to buttons
  • HidLibrary forked and included as a submodule

Changed

  • Changed IStreamDeck to support dis- and reconnects.
    Backend doesn't support it now, but the interface is ready :-)
  • Refactoring HID communication to make StreamDeckHID simpler.

Fixed

  • Exception in Dispose
    ShowLogo tested if object was disposed after it was marked as such
  • Timeout for HID write operations, because they keep blocking forever after disconnecting (and reconnecting) the device.

[0.1.2] - 2018-01-25

Added

  • IStreamDeck.ShowLogo() to show the default stream deck logo
  • Extention methods for IStreamDeck to create button images from System.Drawing and System.Windows (WPF) elements.
    This should make it easier to create button images programmatically (e.g. adding text to a button)
  • Example "Drawing"

[0.1.1] - 2017-06-29

  • First alpha release
  • HID communication based on HidLibrary
  • Examples "Austria" and "Rainbow"