Esempio n. 1
0
        protected void EnableChannelType(int channelType, bool enable)
        {
            var exp = ChannelType.GetExpansionTypeForChannelType(channelType);
            var idx = ChannelType.GetExpansionChannelIndexForChannelType(channelType);

            NesApu.EnableChannel(apuIndex, exp, idx, enable ? 1 : 0);
        }
Esempio n. 2
0
        public void UpdateListView()
        {
            var expansionMask = GetExpansionMask(dialog.Properties.GetPropertyValue <bool[]>(4));
            var channels      = Channel.GetChannelsForExpansionMask(expansionMask, 8);

            Debug.Assert(channelSources.Length == channels.Length);

            var gridData = new object[channels.Length, 3];

            for (int i = 0; i < channels.Length; i++)
            {
                var src = channelSources[i];

                gridData[i, 0] = ChannelType.Names[channels[i]];
                gridData[i, 2] = "N/A";

                if (i >= ChannelType.ExpansionAudioStart)
                {
                    gridData[i, 0] += $" ({ExpansionType.ShortNames[ChannelType.GetExpansionTypeForChannelType(channels[i])]})";
                }

                if (src.type == MidiSourceType.Track)
                {
                    gridData[i, 1] = GetTrackName(src.index);
                }
                else if (src.type == MidiSourceType.Channel)
                {
                    gridData[i, 1] = GetChannelName(src.index);

                    if (src.index == 9)
                    {
                        gridData[i, 2] = src.keys == MidiFileReader.AllDrumKeysMask ? "All keys" : "Filtered keys";
                    }
                }
                else
                {
                    gridData[i, 1] = NoneString;
                }
            }

            dialog.Properties.UpdateMultiColumnList(6, gridData);
        }