From 2a5f0f9478ff5ac98bc7f201171401c7e12aac67 Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Thu, 29 Apr 2021 23:11:22 -0400 Subject: [PATCH] override protected methods instead of hiding public ones --- .../Synthesized/SynthesizedAudioTrack.cs | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/Plugins/UniversalEditor.Plugins.Multimedia/ObjectModels/Multimedia/Audio/Synthesized/SynthesizedAudioTrack.cs b/Plugins/UniversalEditor.Plugins.Multimedia/ObjectModels/Multimedia/Audio/Synthesized/SynthesizedAudioTrack.cs index a0b8400e..fb312052 100644 --- a/Plugins/UniversalEditor.Plugins.Multimedia/ObjectModels/Multimedia/Audio/Synthesized/SynthesizedAudioTrack.cs +++ b/Plugins/UniversalEditor.Plugins.Multimedia/ObjectModels/Multimedia/Audio/Synthesized/SynthesizedAudioTrack.cs @@ -53,13 +53,25 @@ namespace UniversalEditor.ObjectModels.Multimedia.Audio.Synthesized return result; } } - public new void Add(SynthesizedAudioTrack item) + + protected override void InsertItem(int index, SynthesizedAudioTrack item) { - if (!string.IsNullOrEmpty(item.Name)) - { - this.tracksByID[item.Name] = item; - } - base.Add(item); + base.InsertItem(index, item); + + if (!string.IsNullOrEmpty(item.ID)) + tracksByID[item.ID] = item; + } + protected override void RemoveItem(int index) + { + if (!string.IsNullOrEmpty(this[index].ID)) + tracksByID.Remove(this[index].ID); + + base.RemoveItem(index); + } + protected override void ClearItems() + { + base.ClearItems(); + tracksByID.Clear(); } }