Commit Graph

85 Commits

Author SHA1 Message Date
Hannah Giovanna Dawson 90f4f365df
Don't purge note buffer when starting/switching MIDI songs (#39335)
Stop stuck notes on remote when changing MIDI song
2025-08-02 19:31:46 +02:00
slarticodefast a03c35a9bc
sanitize MIDI parser (#38806)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2025-07-07 14:23:45 +02:00
Simon f5fbef7ccc
Add the instrument names to the MIDI channel selector (#38083)
* Add the instrument to the MIDI channel selector

* Reviews

Adds support for chained masters
Makes the channel UI update on its own when the midi changes (Works with bands too!)

* add to admin logs and limit track count

* Limit track names by length too

* remove left over comment

* Requested changes

* Reviews
2025-06-11 20:32:48 +02:00
Pieter-Jan Briers e7be57d85f
Clear MIDI masters properly to avoid replay freezes (#36809)
While trying to play a replay I noticed that the replay would freeze
when seeking in some cases. After some debugging, I discovered that two
MIDI renderers had each other as master, which caused an infinite loop
processing MIDI events.

I'm not entirely sure of the sequence of events that leads to this
during replay playback, but I did notice that MIDI render masters are
never set to null. This is in the best case just a memory leak, in the
worst case probably the source of the bug, so... I fixed that.
2025-04-26 16:42:16 +10:00
Milon f6a1fd5de8
add missing base calls to several BUIs (#35124) 2025-02-13 01:41:30 -05:00
SpaceManiac 4122310735
Fix 38 non-obsolete warnings (#33794) 2025-02-11 20:59:50 +11:00
slarticodefast bb2981400c
replace all uses of TryGetContainingContainer with non-obsolete overload (#30583)
* replace all uses of TryGetContainerContainer with non-obsolete overload

* rerun
2024-08-04 15:38:53 +10:00
metalgearsloth edb05e36bb
Reapply "Remove some BUI boilerplate" (#30214) (#30219)
* Reapply "Remove some BUI boilerplate" (#30214)

This reverts commit cb0ba66be3.

* Fix gas tank

* Fix PA

* Fix microwave

* Comms console underwrap

* Fix rcd

* log wehs
2024-07-21 14:48:13 +10:00
Nemanja cb0ba66be3
Revert "Remove some BUI boilerplate" (#30214)
Revert "Remove some BUI boilerplate (#28399)"

This reverts commit cbf329a82d.
2024-07-20 20:42:27 -04:00
metalgearsloth cbf329a82d
Remove some BUI boilerplate (#28399)
* Remove some BUI boilerplate

- The disposals overrides got removed due to the helper method handling it.
- Replace window creation with CreateWindow helper.
- Fixed some stinky code which would cause exceptions.

* More

* moar

* weh

* done

* More BUIs

* More updates

* weh

* moar

* look who it is

* weh

* merge

* weh

* fixes
2024-07-20 15:40:16 +10:00
Leon Friedrich 76e13eed35
Improve InteractionSystem range & BUI checks (#27999)
* Improve InteractionSystem range & BUI checks

* Ghost fixes

* AAA

* Fix test

* fix nullable

* revert to broadcast event

* Fixes for eengine PR

* Ah buckle code

* )
2024-05-24 15:03:03 +10:00
Pieter-Jan Briers 68ce53ae17
Random spontaneous cleanup PR (#25131)
* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
2024-02-13 16:48:39 -05:00
Hannah Giovanna Dawson 1defdebd7b
Fix MIDI Loading Failing Whilst a MIDI is playing (#23339)
SS14-1148 Fix MIDI Loading Failing Whilst a MIDI is playing

The behaviour of the button event handling did some wonky
async handling that got PJB swearing repeatedly in the contributor
VC.

Improve switching MIDI songs by:

0. Add a bool that tracks if we're currently waiting for the MIDI file
browser to terminate. Use this bool to short-circuit the
MidiFileButtonOnPressed function, ensuring you don't have to close
a morbillion file windows if you spam-clicked the  button or forgot
you'd opened the window.
1. Remove a four-year-old hack involving waiting 100ms to load a MIDI
after trying to stop the last MIDI, because _the rot consumes_ or some shit
2024-01-04 13:19:22 +11:00
metalgearsloth 7ada1c6674
Update content to new ParallelManager (#21813) 2023-11-29 11:00:12 +11:00
Kara dbb7c7065a
Kill `ContainerHelpers` (#20908) 2023-10-11 20:18:49 +11:00
metalgearsloth fd60d39bc7
Remove instruments compref (#19560) 2023-09-12 14:43:06 +10:00
metalgearsloth 5a0fc68be2
Content update for NetEntities (#18935) 2023-09-11 09:42:41 +10:00
DrSmugleaf 35107f7c2b
Fix component generic usages where IComponent would not be valid (#19482) 2023-08-24 20:10:55 +10:00
DrSmugleaf a88e747a0b
Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
Vera Aguilera Puerto a2893dd6c3
Instrument band support, submodule update to 138.0.0 (#17995) 2023-07-16 21:12:53 +02:00
TemporalOroboros 3ac4cf85db
Cleaner BoundUserInterfaces (#17736) 2023-07-09 02:02:17 +10:00
metalgearsloth 68480af109
Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
metalgearsloth a0332c2f2e
Don't spawn midi timer for inactive instruments (#14300) 2023-03-24 13:47:38 +11:00
Visne c6d3e4f3bd
Fix warnings and code cleanup/fixes (#13570) 2023-01-19 13:56:45 +11:00
DrSmugleaf 7fbc2608e8
Remove redundant read-only VV from datafields (#12626) 2022-11-16 20:22:11 +01:00
Leon Friedrich 94011ca2b1
Misc changes from replay branch (#12581) 2022-11-15 17:34:47 +11:00
Morb d1ff0687e4
Localize MIDI menu (#11819) 2022-10-15 13:40:07 -07:00
Leon Friedrich 921e2ee57d
BUI changes required for Engine PR (#10608) 2022-08-21 03:38:30 +10:00
metalgearsloth 45bd1edd5b
Revert "Update submodule to 0.34.0.0 (#10356)" (#10359) 2022-08-06 16:48:21 +10:00
Leon Friedrich e06ea56eb2
Content BUI changes for engine PR (#10308) 2022-08-06 14:59:02 +10:00
Andreas Kämper 5a6cc0933b
Allow pAIs to play MIDI again (#9921) 2022-07-20 18:08:33 +02:00
Leon Friedrich 6b4c2e9b40
Add more instrument interaction checks (#9223) 2022-06-27 18:09:21 +10:00
Vera Aguilera Puerto 1bc599b683 MIDI bank is set after the MIDI program
Fixes bug regarding incorrect program for the first few notes of some MIDI tracks.
2022-04-09 15:32:25 +02:00
Vera Aguilera Puerto 6e73e94cc6
Fix instruments for engine changes, fixes program change bug. (#7365) 2022-04-08 16:22:05 +02:00
metalgearsloth 563d4f4cbd
Don't log on midi resolve failure (#6819) 2022-02-20 21:38:42 -07:00
Leon Friedrich 4a00d01ced
Remove ignore-inside-blocker (#6692)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-02-16 19:40:03 -07:00
mirrorcult ec4d4688c7
Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
wrexbe cea1b21832
Fixing some warnings (#6250)
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2022-01-21 10:38:35 +01:00
Pieter-Jan Briers a0af197259 Set outside prediction flags on system/inputs to work without prediction.
This needs to be gone through more thoroughly but it works somewhat.
2021-12-30 03:12:04 +01:00
Vera Aguilera Puerto e9c812c29c Use Timer.Spawn instead of TimerComp timers when disposing MIDI Renderers.
- Fixes a bug where renderers are not disposed of correctly when the instrument entity is deleted.
2021-12-18 00:30:29 +01:00
metalgearsloth 8af335097f More (IComponent) shenanigans and also some contaminated IoCManager.Resolve<IEntityManager>() very long yes calls 2021-12-07 22:22:34 +11:00
DrSmugleaf af4eb3c7cd Fix more errors, client and server now build 2021-12-06 14:00:39 +01:00
DrSmugleaf 2a3b7d809d Fix 3000 errors 2021-12-05 18:09:01 +01:00
Vera Aguilera Puerto f386b57148 Inline OwnerUid 2021-12-03 16:30:34 +01:00
Vera Aguilera Puerto 5cd42c9ad6 Inline UID 2021-12-03 15:53:09 +01:00
Vera Aguilera Puerto ee4ff9cfe8 Inline Name 2021-12-03 15:25:51 +01:00
Vera Aguilera Puerto 69b270017b Inline TryGetComponent completely, for real 2021-12-03 14:17:01 +01:00
Leon Friedrich 7b59a205b8
check if instrument window is disposed before playing (#5655) 2021-12-02 11:51:30 +01:00
20kdc b5c5871453
Fix a bunch of returns where they should not be (#5640) 2021-12-01 15:00:10 +01:00
Vera Aguilera Puerto 47a19f94d4
Make instruments ECS (#5516) 2021-11-28 01:47:36 +01:00