コード例 #1
0
ファイル: ModCore.cs プロジェクト: somnomania/smapi-mod-dump
 /// <summary>
 /// Loads all content packs for SimpleSoundManager
 /// </summary>
 private void loadContentPacks()
 {
     MusicManager = new MusicManager();
     foreach (IContentPack contentPack in this.Helper.ContentPacks.GetOwned())
     {
         this.Monitor.Log($"Reading content pack: {contentPack.Manifest.Name} {contentPack.Manifest.Version} from {contentPack.DirectoryPath}");
         MusicPack musicPack = new MusicPack(contentPack);
         MusicManager.addMusicPack(musicPack, true, true);
     }
 }
コード例 #2
0
ファイル: EditorMusic.cs プロジェクト: nickc01/WeaverCore
        public void PlayMusicPack(MusicPack pack, float delayTime, float snapshotTransitionTime, bool applySnapshot = true)
        {
            if (ApplyMusicRoutine != null)
            {
                StopCoroutine(ApplyMusicRoutine);
                ApplyMusicRoutine = null;
            }

            ApplyMusicRoutine = StartCoroutine(ApplyMusicPack(pack, delayTime, snapshotTransitionTime, applySnapshot));
        }
コード例 #3
0
 /// <summary>Load the available music packs.</summary>
 public void LoadMusicPacks()
 {
     foreach (IContentPack contentPack in this.Helper.ContentPacks.GetOwned())
     {
         MusicPack musicPack = new MusicPack(contentPack);
         musicPack.SongInformation.initializeMenuMusic();
         musicPack.LoadSettings();
         musicManager.addMusicPack(musicPack, true, true);
     }
 }
コード例 #4
0
ファイル: G_AudioMixer_I.cs プロジェクト: nickc01/WeaverCore
        public override void PlayMusicPack(MusicPack pack, float delayTime, float snapshotTransitionTime, bool applySnapshot = true)
        {
            var cue = CreateCueFromPack(pack);

            GameManager.instance.AudioManager.ApplyMusicCue(cue, delayTime, snapshotTransitionTime, applySnapshot);
            if (applySnapshot)
            {
                var snapshot = Music.GetSnapshot(pack.Snapshot);
                snapshot.TransitionTo(snapshotTransitionTime);
            }

            //TODO : TRY REBUILDING A BETTER METHOD
            CollectUnusedCues();
        }
コード例 #5
0
ファイル: G_AudioMixer_I.cs プロジェクト: nickc01/WeaverCore
        //NOTE: THIS CREATES AN OBJECT THAT NEEDS TO BE DELETED LATER
        public MusicCue CreateCueFromPack(MusicPack pack)
        {
            LoadAssets();
            var cue = ScriptableObject.CreateInstance <MusicCue>();

            MusicCue.MusicChannelInfo[] channelInfos = new MusicCue.MusicChannelInfo[6];

            channelInfos[0] = new MusicCue.MusicChannelInfo();
            channelInfos[1] = new MusicCue.MusicChannelInfo();
            channelInfos[2] = new MusicCue.MusicChannelInfo();
            channelInfos[3] = new MusicCue.MusicChannelInfo();
            channelInfos[4] = new MusicCue.MusicChannelInfo();
            channelInfos[5] = new MusicCue.MusicChannelInfo();

            SetInfoAudioClip(channelInfos[0], pack.MainTrack);
            SetInfoSync(channelInfos[0], (MusicChannelSync)(int)pack.MainTrackSync);

            SetInfoAudioClip(channelInfos[1], pack.MainAltTrack);
            SetInfoSync(channelInfos[1], (MusicChannelSync)(int)pack.MainAltTrackSync);

            SetInfoAudioClip(channelInfos[2], pack.ActionTrack);
            SetInfoSync(channelInfos[2], (MusicChannelSync)(int)pack.ActionTrackSync);

            SetInfoAudioClip(channelInfos[3], pack.SubTrack);
            SetInfoSync(channelInfos[3], (MusicChannelSync)(int)pack.SubTrackSync);

            SetInfoAudioClip(channelInfos[4], pack.TensionTrack);
            SetInfoSync(channelInfos[4], (MusicChannelSync)(int)pack.TensionTrackSync);

            SetInfoAudioClip(channelInfos[5], pack.ExtraTrack);
            SetInfoSync(channelInfos[5], (MusicChannelSync)(int)pack.ExtraTrackSync);

            SetChannelInfos(cue, channelInfos);
            SetAlternatives(cue, new MusicCue.Alternative[0]);
            SetSnapshot(cue, Music.GetSnapshot(pack.Snapshot));
            CreatedCues.Add(cue);
            return(cue);
        }
コード例 #6
0
ファイル: EditorMusic.cs プロジェクト: nickc01/WeaverCore
        IEnumerator ApplyMusicPack(MusicPack pack, float delayTime, float snapshotTransitionTime, bool applySnapshot = true)
        {
            yield return(new WaitForSeconds(delayTime));

            foreach (var source in Sources)
            {
                source.Stop();
                source.clip = null;
            }
            ApplyClipToSource(Action, pack.ActionTrack);
            ApplyClipToSource(Extra, pack.ExtraTrack);
            ApplyClipToSource(Main, pack.MainTrack);
            ApplyClipToSource(MainAlt, pack.MainAltTrack);
            ApplyClipToSource(Sub, pack.SubTrack);
            ApplyClipToSource(Tension, pack.TensionTrack);

            if (applySnapshot)
            {
                var snapshot = Music.GetSnapshot(pack.Snapshot);
                snapshot.TransitionTo(snapshotTransitionTime);
            }
            ApplyMusicRoutine = null;
        }
コード例 #7
0
ファイル: EditorMusic.cs プロジェクト: nickc01/WeaverCore
 public void PlayMusicPack(MusicPack pack)
 {
     PlayMusicPack(pack, pack.delay, pack.snapshotTransitionTime, pack.applySnapshot);
 }
コード例 #8
0
 public override void PlayMusicPack(MusicPack pack, float delayTime, float snapshotTransitionTime, bool applySnapshot = true)
 {
     EditorMusic.Instance.PlayMusicPack(pack, delayTime, snapshotTransitionTime, applySnapshot);
 }
コード例 #9
0
 public abstract void PlayMusicPack(MusicPack pack, float delayTime, float snapshotTransitionTime, bool applySnapshot = true);