mirror of
https://github.com/space-syndicate/space-station-14.git
synced 2026-10-09 18:31:17 +03:00
* Added base type for UI panels of MIDI input sources. * Renamed BandMenu into BandMidiSource. * Implemented the UI overhaul, skipping channels dialog functionality for now. * Refactored for conventions and reordered type members. Got rid of SetInstrument/ClearInstrument again. * Decreased background opacity for UnavailableOverlay to improve readability. * Localization * Added text to InputMidiSource so players know what it does. * Changed window MinSize to SetSize. Allows players to reduce window size if desired. * Improved button looks by adding style classes. * cleanup * leftover cleanup * Reverted fetching InstrumentSystem via IoCManager (crashes it, woops). * added filter bar to file list * refactored almost all system/manager interaction into instrument BUI * text changed for instruments-component-menu-input-notice-label * fixed InstrumentBoundUserInterface.Dispose not unsubscribing from everything * minor cleanup * finished configuration menu & cleanup * Comments and fixes for InstrumentMidiSourceBase * Fixed RA0051 * Removed unncecessary null check * Added methods for accessing the selected track. * Limited depth of search for instrument master to prevent deadlock. * Cached system access * Storing midis asynchronously * Actual MIDI data now only loaded before playback. * async removed from InstrumentBoundUserInterface.LoadStoredUserMidis * Replaced GetComponent calls with TryGetComponent * Localized MIDI playback track timer * Searching for next track using raw index now * Fixed CS0168 * XML comments, minor fixes and disabled MIDI library management while a track is playing. * removed timers with simple watchdog and switched to MidiFileCollectionManager * Missed one (timer) * Changed access for MidiFileCollectionManager.UserMidiDirectory field to public. * Added instrument config control for MIDI collection utilities. * redesigned instrument config menu * Removed rename function, updated adding implementation * more redesigns * fixed _isMidiFileDialogueWindowOpen not resetting correctly in certain cases. * file scoped namespaces * replaced EntityUid with Entity<InstrumentComponent> * if spaces * returning Tooltip instead of Control * replaced SetEntity with public field * readonly system fields * InstrumentMenu MinSize * xml comment for InstrumentMidiSourceBase * small refactor * more cleanup * TryGetComponent to GetComponent on Open() * more formatting issues * switched to [Dependency] for systems * playback improvements * disable playback button if no file selected and playing * activating shuffle now selects track if none is selected * rearranged playback buttons * channels overhauled * Play/Stop label to Play only * Removed all channel on/off * Program now default channel name display selection * improved RemoveButton.Disable behavior * channels now toggable by clicking anywhere * Shuffle no longer selects already selected track. * Loop & Shuffle no longer both selectable at once * minor improvements to channel item visuals * minor channel toggle fixes * xml docs & code cleanup * `RefreshBandRequest` now sent automatically when band source becomes visible * converted 5 items tuple to MidiChannelInfo record * added markup support to instrument menu configuration header * added note to midi channels config header explaining update behavior.
38 lines
2 KiB
XML
38 lines
2 KiB
XML
<ui:FileMidiSource xmlns="https://spacestation14.io"
|
|
xmlns:ui="clr-namespace:Content.Client.Instruments.UI"
|
|
HorizontalExpand="True"
|
|
Orientation="Vertical">
|
|
|
|
<!-- Track list -->
|
|
<BoxContainer Orientation="Vertical" VerticalExpand="True" HorizontalExpand="True" Margin="0 0 0 20">
|
|
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
|
|
<LineEdit Name="FilterBar" PlaceHolder="{Loc 'instruments-component-menu-files-filter'}"
|
|
HorizontalExpand="True" />
|
|
</BoxContainer>
|
|
<ItemList Name="TrackList" SelectMode="Single" VerticalExpand="True" />
|
|
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
|
|
<Button Name="AddButton" Text="{Loc 'instruments-component-menu-files-add-button'}" HorizontalExpand="True"
|
|
StyleClasses="OpenRight" />
|
|
<Button Name="RemoveButton" Text="{Loc 'instruments-component-menu-files-remove-button'}" Disabled="True"
|
|
HorizontalExpand="True" StyleClasses="OpenLeft" />
|
|
</BoxContainer>
|
|
</BoxContainer>
|
|
|
|
<!-- Current track label -->
|
|
<Label Name="CurrentTrackLabel" MinHeight="24" />
|
|
|
|
<!-- Track position -->
|
|
<Slider Name="PlaybackSlider" HorizontalExpand="True" />
|
|
|
|
<!-- Track controls -->
|
|
<BoxContainer Orientation="Horizontal" HorizontalExpand="True">
|
|
<Button Name="PlayButton" Text="{Loc 'instruments-component-menu-play-stop-button'}" ToggleMode="True"
|
|
Margin="0 0 20 0" />
|
|
<Button Name="LoopButton" Text="{Loc 'instruments-component-menu-loop-button'}" ToggleMode="True"
|
|
StyleClasses="OpenRight" />
|
|
<Button Name="ShuffleButton" Text="{Loc 'instruments-component-menu-shuffle-button'}" ToggleMode="True"
|
|
StyleClasses="OpenLeft" />
|
|
<BoxContainer HorizontalExpand="True" />
|
|
<Label Name="TimeLabel" Text="--:--/--:--" Align="Right" />
|
|
</BoxContainer>
|
|
</ui:FileMidiSource>
|