1.6.0 now available on the beta branch!

Keysight

Keysight is a real-time MIDI visualization platform powered by Unreal Engine, built for piano-focused streamers and content creators, and featuring unmatched customization!

[h1]New stuff![/h1] Hey folks! It is with great pleasure that I can announce Keysight 1.6.0 is now available to try on the beta branch [b](Windows only, for now)[/b]. Before giving a brief run-down of the new features and overhauls, a quick word of caution: [h3]This update may alter your presets[/h3] Due to reworks involving the camera and piano model dimensions, any non-standard 3D angles are going to be slightly "wrong" moving into this version. Additionally, light bar colour calculation is handled differently (and better) but often causes 1.5 preset light bars to appear more saturated. I recommend backing up your entire save data found in /Appdata/Local/Keysight, just in case something is not to your liking and you want to opt into the 1.5.0 static branch to stop receiving updates. For anyone especially keen to ensure they have the best 1.6 experience (and this update will likely be staying in place for a long time before a new one, more on that in a future announcement): I recommend backing up any preset files that are important to you and using the update splash screen "reset" button to fully wipe your save data. Starting from the ground up like this (and re-importing any presets you want to keep) will make sure everything is as good as it can be! [i](There are a ton of tiny edge case things I cannot automatically handle in converting 1.5 data to 1.6. If you've played with a lot of settings, some of these settings may no longer be optimal, hence recommending the wipe.)[/i] And a quick reminder if you have questions or feedback: [url=https://discord.gg/EHuJKU9393]Official Discord server here![/url] [h1]Features[/h1] This will be an as-fast-as-possible overview of new changes. Once 1.6.0 releases on the public branch, I will have a new announcement with a lot more detail and examples! But anyway, here goes: [list] [*] Render to video is now profile-based, and can render to any resolution (up to 4096x4096). This allows you to build profiles for, say, TikTok or Instagram and rapidly render out videos to different resolutions. Render options are now much more streamlined too. [*] Advanced materials now have an additional feature: Reflections! This system is extraordinarily flexible (more flexible than I originally thought it would be!) and allows you to show any image "reflected" in a surface. This is used extensively in the new default presets, and it has the benefit of being almost performance-free so the Low graphics preset got a whole lot prettier as a direct benefit of this system! [*] Scene composition can now be vastly streamlined with new "automatic" layout mode! This mode allows you to set border widths, note travel time, key range to show etc and then Keysight will automatically adjust all the actual camera coordinates to achieve those settings. Auto-cam profiles can also be assigned to render profiles, to easily allow different travel times or key ranges for different resolutions. [*] Piano and frame models have been rebuilt to be prettier, and much more accurate. Notably, this increases the white key width from 2.2cm to 2.358cm, hence the warning about camera positions. This rework "fixes" the appearance of the keyboard in terms of the black pixels between keys; felt visibility is now optional; keypresses have different coverage modes; animations have been rebuilt to be smoother... the list goes on. [*] New widget: Scene Lights! These allow channel-based directional lighting, and are intended to replace ambient lighting with a much more flexible system. Scene lights come in the form of an array, so you can have as many as you like for illuminating different scene components with the desired brightnesses without messing around with self-emissive materials. [*] Completely rebuilt state machine that allows for clean multi-track visualisation. Up to this point, Keysight has had one set of "simulation" data (things like whether a note is down or up, etc), which meant that if a multi-track midi file was played where two notes happen at the same pitch, the second note will release the first note. No longer is this the case! Keysight has 16 sets of simulation data, which map to midi channels. If using a track-based midi file rather than channel-based, make sure to tick the option in System > Interface to "Use midi track as channel data". [/list] Here's a little taste of the new default "Keysight" preset in 1.6.0! [previewyoutube=yPEhDMHWw1o;full][/previewyoutube] And now the rapidfire smaller feature additions: [list] [*] Rebuilt default presets. Restricted the set down to just 8, but they're [i]really pretty now[/i]. [*] Better light bar colour calculation, with smoother hue shifting [*] New light bar: "Fire" [*] New material: Wavy gold (naming is hard ok) [*] A loading screen! (A basic one, but it's there after 3 years) [*] Configurable pitch bend ceiling to allow for 0-127 or 0-16383 data [*] Preset switch automation under Midi now applies on live playback too [*] All scene updates (backdrop, light bars etc) now delay to match when new notes hit the keyboard in top-down mode [*] Vastly improved CPU performance in most situations, and more consistent performance across the default presets [*] Setup wizard now has a benchmark button to recommend a graphics preset to you [*] Midi hotkeys can be toggled between exclusive and non-exclusive note-hold activation, and have no cap on the number of notes used [*] Added little + buttons by all texture dropdowns to easily select a custom texture to import and load [*] Better Basic menu image-based backdrop controls [*] Better fly camera controls, on-screen controls, and fixed some fly-cam related bugs [*] Black midi rendering now does not break Keysight (!) [*] Logs can be saved to text files [/list]... and tons more. [url=https://egglyberts.live/keysight/changelogs/1-6-0.txt]Full changelog here![/url] Happy Keysighting! And do let me know if something breaks or doesn't work right! I'm going away for a week tomorrow at the time of writing this, and I wanted to get this out the door for folks to start using ASAP but it means there's a significant chance for something to be under-baked...