Inner Space Releases

Inner Space version 1.19 Build 7111
Released: 2023-03-24
  • Diablo 4 compatibility update
  • Battle.net compatibility update
  • Fixed an issue with Direct3D 12 performance and memory usage on some systems
  • Diablo Immortal: Fixed support for various gamepads (e.g. XBox One Controller and similar)
  • Uplink window now accepts drag-and-dropped files
  • Fixed Reshade compatibility on Direct3D12
  • Fixed an issue where the Patcher window allowed clicking Install while sessions were running
  • Inner Space main window now has an Agents window with controls to start or stop them
  • Agent provider system now supports github release listings
  • Fixed an issue with uplink windowing commands via the new relay system
  • LavishGUI 2
    • New element type "dynamic" is a content container whose content is usually provided by a contentBinding
    • New element type "autocompletebox" pairs a textbox with auto-complete functionality
    • New element type "midipatch" is a content container with its Context tied to a MIDI patch
    • Added a relatively easy to use "confirmationWindow" template
    • Fixed a bug where natively supported programmable mouse buttons were not treated as mouse buttons
    • Fixed a bug where the screen element would sometimes not size properly to the window
    • Fixed a bug with skins where templates retrieved from the base skin would not use further templates from the new skin
    • Fixed a bug where global brushes could get modified by applying styles to an element
    • Fixed a bug where brushes were not refreshing correctly after being modified (e.g. when setting an image)
    • Fixed a bug with videofeed/broadcaster elements improperly activating Focus Follows Mouse
    • Fixed input bugs with videofeed/broadcaster elements
    • Fixed a bug with videofeed elements sometimes not automatically refreshing
    • Fixed a bug with clicking checkboxes with "useIndeterminate"
    • Fixed a bug where tooltips were constantly destroyed and re-created while active
    • Fixed a bug where a tooltip would remain visible from an element that gets detached
    • Fixed a bug where context menus would remain open
    • Fixed a bug with dragger element allowing movement while allowMove is false
    • Fixed a bug with scrollviewer stealing mouse focus while "acceptsMouseFocus" is false
    • Fixed bugs with scrollviewer sizing, scroll bars and mouse wheel
    • Fixed bugs with objectview "propertyViewTemplate" and per-property overrides
    • Fixed bugs with onXXXPress/onXXXRelease events
    • Fixed bugs with dragging to resize aligned elements (e.g. a centered winow)
    • Animations defined as part of an element no longer automatically start unless they have "autoStart" set to true
    • textblock now waits for refresh before resolving LavishScript portions of "text"
    • Locate system now supports an element ID as the elementName value string, e.g. "elementName":"123"
    • "task" eventHandlers now use the "default" Task Manager if not specified
    • Fixed input bugs with videofeed, videofeedsource, and broadcaster elements
    • Scrollviewer horizontalScroll and verticalScroll now also accept "fitparent"
    • wrappanel correctly accounts for child margins
    • Elements now support "useOutputTexture" boolean, which defaults to false except for window, canvas, popup
    • itemlist selectedItemBinding no longer off by one when not using selectedItemBindingProperty
    • itemlist items selected prior to view creation now apply "onSelected"
    • listbox items are now selected on release instead of press
    • listbox now supports a boolean "reorderable" property, to reorder via click and drag
    • New listbox event "onReorderCompleted"
    • "method" event handler now properly uses its owner element context, and not the source element context
    • fixed possible infinite loop in "value" animation
    • "value" animation now supports color strings
    • pagecontrol element improvements including page validation and a Finish button
    • Improved overlay element behaviors
    • checkbox now also accepts "pushAsBool" to push checkedBinding as TRUE/FALSE/NULL instead of 1/0/-1
    • contextBinding now always pulls immediately when set
    • Improved itemlist itemsBinding efficiency
    • imagebox now supports "imageBinding"
    • lgui2databinding now supports "pullRequest", a webrequest definition
  • LavishScript
    • New types "autocomplete", "midipatch", "midiscene"
    • Now supporting objectdef(global) and objectdef(script)
    • Fixed a bug with objectdef-owned static variables not shutting down properly in some cases
    • New flags for jsonarray.Has and jsonobject.Has: -notnull, -object, -array, -string
    • Added shorthand op "!=0" to Select queries to test for non-zero
    • Select queries that have "member" or "eval" specified, but no "with" or "op", now have an implied "op" of "!=0"
    • Fixed crashes with jsonobject.SelectValues and jsonarray.SelectValues
    • LavishScript now creates a "default" Task Manager
    • static taskmanager taskmanager.Default
    • int64 string.FindFrom[uint position,string needle]
    • int64 jsonarray.Contains[jsonvalue val]
    • int64 jsonarray.ContainsReference[jsonvalueref val]
    • bool jsonarray.Equal[jsonvalueref other]
    • bool jsonvaluecontainer.Equal[jsonvalueref other]
    • bool jsonobject.Equal[jsonvalueref other]
    • jsonobject jsonobject.Diff[jsonvalueref joOther]
    • bool jsonobject.MatchesSchema[jsonvalueref joSchema]
    • jsonobject jsonobject.GetMatchingSchema[jsonvalueref joSchema]
    • jsonarray.Get[-init,jsonvalue newValue,key]
    • jsonobject.Get[-init,jsonvalue newValue,key]
    • bool lavishscript.SelectEvaluate[weakref testValue,jsonvalueref joSelect]
    • jsonobject lgui2eventargs.AsJSON
    • string lgui2eventargs.Event
    • lgui2element lgui2eventargs.Element
    • elgui2scrollbar.fitparent
    • jsonarray lgui2element.Animations
    • jsonarray lgui2element.InputHooks
    • jsonarray lgui2element.Styles
    • jsonarray lgui2element.Triggers
    • lgui2element:Animate[jsonvalueref joAnimation,bool start]
    • jsonarray lgui2itemlist.ItemsSource
    • lgui2itemlist:SetItemsSource[jsonvalueref ja]
    • lgui2itemlist:RefreshItems
    • lgui2listbox:SetReorderable[bool newValue]
    • bool lgui2listbox.Reorderable
    • lgui2brush:SetImage[weakref binary, uint transparencyColor=0
    • jsonobject lgui2databinding.PullRequest
    • lgui2databinding:SetPullRequest[jsonvalueref joRequest]
    • lgui2databinding lgui2imagebox.ImageBinding
    • lgui2imagebox:PullImageBinding
    • agent:Uninstall
    • agentlisting agentprovider.NewestListing
    • jsonobject agentprovider.AsJSON
    • static agentprovider agentprovider.New[string filename,<jsonvalueref joProvider>]
    • static agentprovider agentprovider.Get[string name]
    • static agentprovider agentprovider.Get[uint id]
    • static agentprovider:ForEach[string command,<jsonvalueref filterQuery>]
    • innerspace:LoadAgentProviderPackage[jsonvalueref jo]
    • static jsonarray lgui2remotecontrol.Senders
    • static bool lgui2remotecontrol.RemoteControlAllowed
    • static lgui2remotecontrol:SetRemoteControlAllowed[bool newValue]
    • static monitor monitor.Get
    • static monitor monitor.Get[uint num]
    • static monitor monitor.Get[string name]
    • static jsonarray monitor.List
    • static monitor:ForEach
    • monitor display.Monitor[string name]
    • jsonobject button.AsJSON
    • static jsonarray button.List
    • static button button.Get[string name]
    • static button button.Get[-id, uint id]
    • static button:ForEach[string command,<jsonvalueref joQuery>]
    • jsonobject axis.AsJSON
    • static jsonarray axis.List
    • static axis axis.Get[string name]
    • static axis:ForEach[string command,<jsonvalueref joQuery>]
    • jsonobject dpad.AsJSON
    • static jsonarray dpad.List
    • static dpad dpad.Get[string name]
    • static dpad:ForEach[string command,<jsonvalueref joQuery>]
    • jsonobject inputdevice.AsJSON
    • static jsonarray inputdevice.List
    • static inputdevice inputdevice.Get[string name]
    • static inputdevice inputdevice.Get[uint id]
    • static inputdevice:ForEach[string command,<jsonvalueref joQuery>]
    • jsonobject bind.AsJSON
    • static jsonarray bind.List
    • static bind bind.Get[string name]
    • static bind:ForEach[string command,<jsonvalueref joQuery>]
    • static jsonarray midiindevice.List
    • static midiindevice midiindevice.Get[uint ID]
    • static midiindevice midiindevice.Get[string name]
    • static midiindevice:ForEach[string command,<jsonvalueref filterQuery>]
    • static jsonarray midioutdevice.List
    • static midioutdevice midioutdevice.Get[uint ID]
    • static midioutdevice midioutdevice.Get[string name]
    • static midioutdevice:ForEach[string command,<jsonvalueref filterQuery>]
    • midioutdevice:SendJSON[jsonvalueref arrayOrObject]
    • midipatch midiindevice.Output
    • midiindevice:SetOutput[weakref patch]
    • midiindevice:SetOutput[string patchName]
    • midiindevice:SetOutput[uint patchID]
    • midiindevice:InsertOutput[weakref patch]
    • midiindevice:InsertOutput[string patchName]
    • midiindevice:InsertOutput[uint patchID]
    • midipatch midiindevice.Feedback
    • midiindevice:SetFeedback[string patchName]
    • midiindevice:SetFeedback[uint patchID]
    • bool midiindevice.Muted
    • jsonobject midiindevice.Metadata
    • midiindevice:SetMute[bool newValue]
    • midiindevice midi.InDevice[string name,uint instance]
    • static midiindevice.Get[string name, uint instance]
    • midioutdevice midi.OutDevice[string name,uint instance]
    • jsonarray midi.PatchTypes
    • jsonarray midi.Patches
    • midipatch midi.Patch[string name]
    • midipatch midi.Patch[uint id]
    • midi:LoadPackageFile[string filename]
    • midi:UnloadPackageFile[string filename]
    • midi:LoadPackage[jsonvalueref joPackage]
    • midi:UnloadPackage[jsonvalueref joPackage]
    • bool filepath.IsDirectory[<string appendFilename>]
    • bool mutablefilepath.IsDirectory[<string appendFilename>]
    • static filepath filepath.Get[string filePath]
    • settingset:ImportJSON[-ref,jsonvalueref jo]
    • (uplink) videofeed:RegisterOtherWindowSource
    • variable type.Create[<scope>, ...]
    • variable scriptobjecttype.Create[<scope>, ...]
    • variable variablescope.Create[string typeName, ... args]
    • int64 variablescope.Used
    • jsonobject webrequest.AsJSON