void SetupEnvelopes() { wholeNoteEnv = MusicUtil.CreateEnvelope(ConstFile.NoteLen.WHOLE); halfNoteEnv = MusicUtil.CreateEnvelope(ConstFile.NoteLen.HALF); quarterNoteEnv = MusicUtil.CreateEnvelope(ConstFile.NoteLen.QUARTER); eighthNoteEnv = MusicUtil.CreateEnvelope(ConstFile.NoteLen.EIGHTH); sixteenthNoteEnv = MusicUtil.CreateEnvelope(ConstFile.NoteLen.SIXTEENTH); }
void QuarterBeat(int rep) { IGATProcessedSample sample; string[] chordArray = MusicUtil.CreateMajorChord(majorProgression[rep], keyScale, ConstFile.PIANO_NOTES, majorChord); for (int i = 0; i < chordArray.Length; i++) { sample = sampleBank.GetProcessedSample(chordArray[i], halfNoteEnv); sample.Play(0); } }
/// <summary> /// Adjust height of fieldSurfaces and position of field lineRenderers, dependant on the chord notes' heights. /// </summary> /// <param name="fields"></param> public static void AdjustFieldHeights(MusicField[] fields) { var vars = VisualController.inst; // 1. get highest & lowest note int lowestNote = MusicUtil.LowestFieldNote(fields); int highestNote = MusicUtil.HighestFieldNote(fields); // 2. set scale of fieldSurface & z-pos of lineRend for (int i = 0; i < fields.Length; i++) { int[] curChordNotes = fields[i].chord.notes; int curNote = curChordNotes[curChordNotes.Length - 1]; float targetScale = vars.minFieldSurfaceHeight + ExtensionMethods.Remap(curNote, lowestNote, highestNote, 0, vars.maxFieldSurfaceHeight); fields[i].SetLineRendZPos(Player.inst.transform.position.z - targetScale); fields[i].fieldSurface.transform.localScale = new Vector3(1, 1, targetScale); fields[i].height = targetScale; } }
private static Chord[][][] AllChordsFromData(Key key, ChordData[] chordTypes, int minNote, int maxNote) { Chord[][] basicChords = new Chord[chordTypes.Length][]; Chord[][] bigChords = new Chord[chordTypes.Length][]; // 1. Gehe jeden CHORD TYPE durch for (int i = 0; i < chordTypes.Length; i++) { int degree = chordTypes[i].degree; int[] intervals = chordTypes[i].intervals; //Chord basicChord = MusicUtil.Triad(key, degree, intervals); basicChords[i] = MusicUtil.AllBasicChordInversions(key, degree, intervals, minNote, maxNote); bigChords[i] = MusicUtil.AllBigTriads(key, degree, intervals, minNote, maxNote); } Chord[][][] chords = new Chord[][][] { basicChords, bigChords }; return(chords); }
private void OnValidate() { this.audioClipDict.Clear(); this.activeClips.Clear(); this.UpdateLengthInBars(); for (int i = 0; i < this.clips.Count; i++) { MusicTheme.PositionedClip item = this.clips[i]; int num = this.ActiveClipCollectionID(item.startingBar - 8); int num1 = this.ActiveClipCollectionID(item.endingBar); for (int j = num; j <= num1; j++) { if (!this.activeClips.ContainsKey(j)) { this.activeClips.Add(j, new List <MusicTheme.PositionedClip>()); } if (!this.activeClips[j].Contains(item)) { this.activeClips[j].Add(item); } } if (item.musicClip != null) { AudioClip audioClip = item.musicClip.audioClip; if (!this.audioClipDict.ContainsKey(audioClip)) { this.audioClipDict.Add(audioClip, true); } if (item.startingBar < 8 && !this.firstAudioClips.Contains(audioClip)) { this.firstAudioClips.Add(audioClip); } item.musicClip.lengthInBarsWithTail = Mathf.CeilToInt(MusicUtil.SecondsToBars(this.tempo, (double)item.musicClip.audioClip.length)); } } }
private void OnValidate() { this.audioClipDict.Clear(); this.activeClips.Clear(); this.UpdateLengthInBars(); for (int index = 0; index < this.clips.Count; ++index) { MusicTheme.PositionedClip clip = this.clips[index]; int num1 = this.ActiveClipCollectionID(clip.startingBar - 8); int num2 = this.ActiveClipCollectionID(clip.endingBar); for (int key = num1; key <= num2; ++key) { if (!this.activeClips.ContainsKey(key)) { this.activeClips.Add(key, new List <MusicTheme.PositionedClip>()); } if (!this.activeClips[key].Contains(clip)) { this.activeClips[key].Add(clip); } } if (Object.op_Inequality((Object)clip.musicClip, (Object)null)) { AudioClip audioClip = clip.musicClip.audioClip; if (!this.audioClipDict.ContainsKey(audioClip)) { this.audioClipDict.Add(audioClip, true); } if (clip.startingBar < 8 && !this.firstAudioClips.Contains(audioClip)) { this.firstAudioClips.Add(audioClip); } clip.musicClip.lengthInBarsWithTail = Mathf.CeilToInt(MusicUtil.SecondsToBars(this.tempo, (double)clip.musicClip.audioClip.get_length())); } } }
public static float SecondsToBars(float tempo, double seconds) { return(MusicUtil.SecondsToBeats(tempo, seconds) / 4f); }
public static int BeatsToSamples(float tempo, float beats) { return(MusicUtil.SecondsToSamples(MusicUtil.BeatsToSeconds(tempo, beats))); }
public static int BarsToSamples(float tempo, float bars) { return(MusicUtil.SecondsToSamples(MusicUtil.BarsToSeconds(tempo, bars))); }
public static int SecondsToSamples(float seconds) { return(MusicUtil.SecondsToSamples(seconds, AudioSettings.get_outputSampleRate())); }
public static double BarsToSeconds(float tempo, float bars) { return(MusicUtil.BeatsToSeconds(tempo, bars * 4f)); }
public static int SecondsToSamples(float seconds) { return(MusicUtil.SecondsToSamples(seconds, UnityEngine.AudioSettings.outputSampleRate)); }