Added MidiTransitionController and Changed TimelineController

For Transitions that finish on the next chosen downbeat

closes #120
This commit is contained in:
max 2019-12-04 19:14:04 +01:00
parent a23babb550
commit ca5568e94b
9 changed files with 257 additions and 301 deletions

View file

@ -111,6 +111,7 @@
<Compile Include="Assets\Scripts\PdConnection\MidiParser.cs" /> <Compile Include="Assets\Scripts\PdConnection\MidiParser.cs" />
<Compile Include="Assets\Scripts\PdConnection\MidiSequencer.cs" /> <Compile Include="Assets\Scripts\PdConnection\MidiSequencer.cs" />
<Compile Include="Assets\Scripts\PdConnection\MidiSyncedLoop.cs" /> <Compile Include="Assets\Scripts\PdConnection\MidiSyncedLoop.cs" />
<Compile Include="Assets\Scripts\PdConnection\MidiTransitionController.cs" />
<Compile Include="Assets\Scripts\PdConnection\PdArray.cs" /> <Compile Include="Assets\Scripts\PdConnection\PdArray.cs" />
<Compile Include="Assets\Scripts\PdConnection\PdArrayContainer.cs" /> <Compile Include="Assets\Scripts\PdConnection\PdArrayContainer.cs" />
<Compile Include="Assets\Scripts\PdConnection\PdArraySelector.cs" /> <Compile Include="Assets\Scripts\PdConnection\PdArraySelector.cs" />

View file

@ -643,6 +643,7 @@ GameObject:
- component: {fileID: 1261823485} - component: {fileID: 1261823485}
- component: {fileID: 1261823483} - component: {fileID: 1261823483}
- component: {fileID: 1261823484} - component: {fileID: 1261823484}
- component: {fileID: 1261823486}
m_Layer: 0 m_Layer: 0
m_Name: PdBackend m_Name: PdBackend
m_TagString: Untagged m_TagString: Untagged
@ -698,6 +699,17 @@ MonoBehaviour:
m_StringArgument: m_StringArgument:
m_BoolArgument: 0 m_BoolArgument: 0
m_CallState: 2 m_CallState: 2
- m_Target: {fileID: 1261823486}
m_MethodName: OnMidiMessageReceived
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
midiSyncReceived: midiSyncReceived:
m_PersistentCalls: m_PersistentCalls:
m_Calls: m_Calls:
@ -745,6 +757,17 @@ MonoBehaviour:
m_StringArgument: m_StringArgument:
m_BoolArgument: 0 m_BoolArgument: 0
m_CallState: 2 m_CallState: 2
- m_Target: {fileID: 1261823486}
m_MethodName: OnSyncReceived
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
samplePlayback: 0 samplePlayback: 0
--- !u!4 &1261823481 --- !u!4 &1261823481
Transform: Transform:
@ -854,6 +877,21 @@ MonoBehaviour:
m_StringArgument: m_StringArgument:
m_BoolArgument: 0 m_BoolArgument: 0
m_CallState: 2 m_CallState: 2
--- !u!114 &1261823486
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1261823479}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 295c71eba0347b04aa841307f8555e7b, type: 3}
m_Name:
m_EditorClassIdentifier:
restTimeS: 0
channel: 3
stateManager: {fileID: 337815215}
--- !u!1 &1461024797 --- !u!1 &1461024797
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View file

@ -9,6 +9,9 @@ namespace cylvester
{ {
[SerializeField] private PlayableDirector playableDirector; [SerializeField] private PlayableDirector playableDirector;
[SerializeField] private StateManager stateManager; [SerializeField] private StateManager stateManager;
[SerializeField] private MidiTransitionController transitionController;
[SerializeField] private float initTransitionTime = 16f;
private IList<QlistMarker> qlistMarkers_; private IList<QlistMarker> qlistMarkers_;
@ -28,9 +31,19 @@ namespace cylvester
foreach (var qlistMarker in qlistMarkers_) foreach (var qlistMarker in qlistMarkers_)
{ {
if (qlistMarker.id != stateName) continue; if (qlistMarker.id != stateName) continue;
playableDirector.Stop(); playableDirector.Stop();
playableDirector.time = qlistMarker.time; playableDirector.time = qlistMarker.time;
playableDirector.Play(); playableDirector.Play();
if (transitionController != null)
{
playableDirector.playableGraph.GetRootPlayable(0)
.SetSpeed(transitionController.TimelinePlaybackSpeed()); //Set Playback Speed of Timeline for CYL transitions
}
else
playableDirector.playableGraph.GetRootPlayable(0)
.SetSpeed(initTransitionTime);
break; break;
} }
} }

View file

@ -273,18 +273,6 @@ MonoBehaviour:
m_Loop: 0 m_Loop: 0
m_Version: 1 m_Version: 1
m_Rotation: {x: 0, y: 0, z: 0, w: 1} m_Rotation: {x: 0, y: 0, z: 0, w: 1}
--- !u!114 &-6907371341690869073
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fde0d25a170598d46a0b9dc16b4527a5, type: 3}
m_Name: ActivationPlayableAsset
m_EditorClassIdentifier:
--- !u!74 &-6463219741676130351 --- !u!74 &-6463219741676130351
AnimationClip: AnimationClip:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -886,7 +874,7 @@ AnimationClip:
m_HasGenericRootTransform: 1 m_HasGenericRootTransform: 1
m_HasMotionFloatCurves: 0 m_HasMotionFloatCurves: 0
m_Events: [] m_Events: []
--- !u!114 &-3787263661427963135 --- !u!114 &-4535818528058612151
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
@ -898,6 +886,18 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: fde0d25a170598d46a0b9dc16b4527a5, type: 3} m_Script: {fileID: 11500000, guid: fde0d25a170598d46a0b9dc16b4527a5, type: 3}
m_Name: ActivationPlayableAsset m_Name: ActivationPlayableAsset
m_EditorClassIdentifier: m_EditorClassIdentifier:
--- !u!114 &-3997953796982333272
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fde0d25a170598d46a0b9dc16b4527a5, type: 3}
m_Name: ActivationPlayableAsset(Clone)
m_EditorClassIdentifier:
--- !u!114 &-3557336395884463260 --- !u!114 &-3557336395884463260
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@ -1053,7 +1053,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 699a85771c17e864fafab4a53a5fc5bd, type: 3} m_Script: {fileID: 11500000, guid: 699a85771c17e864fafab4a53a5fc5bd, type: 3}
m_Name: Qlist Marker m_Name: Qlist Marker
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Time: 29.96666666666666 m_Time: 80
stateName: 'ShowAll stateName: 'ShowAll
' '
@ -1079,11 +1079,11 @@ MonoBehaviour:
m_Children: [] m_Children: []
m_Clips: m_Clips:
- m_Version: 1 - m_Version: 1
m_Start: 5.016666666666667 m_Start: 16
m_ClipIn: 0 m_ClipIn: 0
m_Asset: {fileID: -7288107193091318105} m_Asset: {fileID: -7288107193091318105}
m_Duration: 24.933333333333334 m_Duration: 83.11111111111113
m_TimeScale: 1 m_TimeScale: 0.29999999999999993
m_ParentTrack: {fileID: -2843494771311315102} m_ParentTrack: {fileID: -2843494771311315102}
m_EaseInDuration: 0 m_EaseInDuration: 0
m_EaseOutDuration: 0 m_EaseOutDuration: 0
@ -1145,7 +1145,7 @@ MonoBehaviour:
m_PostExtrapolationMode: 1 m_PostExtrapolationMode: 1
m_PreExtrapolationMode: 1 m_PreExtrapolationMode: 1
m_PostExtrapolationTime: Infinity m_PostExtrapolationTime: Infinity
m_PreExtrapolationTime: 5.016666666666667 m_PreExtrapolationTime: 16
m_DisplayName: Recorded (1) m_DisplayName: Recorded (1)
m_Markers: m_Markers:
m_Objects: [] m_Objects: []
@ -1201,20 +1201,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 699a85771c17e864fafab4a53a5fc5bd, type: 3} m_Script: {fileID: 11500000, guid: 699a85771c17e864fafab4a53a5fc5bd, type: 3}
m_Name: Qlist Marker m_Name: Qlist Marker
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Time: 19.766666666666666 m_Time: 64
stateName: Forces stateName: Forces
--- !u!114 &-1899992291090105534
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fde0d25a170598d46a0b9dc16b4527a5, type: 3}
m_Name: ActivationPlayableAsset
m_EditorClassIdentifier:
--- !u!114 &-1782814272649161618 --- !u!114 &-1782814272649161618
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@ -1261,8 +1249,8 @@ MonoBehaviour:
- m_Version: 1 - m_Version: 1
m_Start: 0 m_Start: 0
m_ClipIn: 0 m_ClipIn: 0
m_Asset: {fileID: -6907371341690869073} m_Asset: {fileID: 8245851212763102776}
m_Duration: 9.983333333333334 m_Duration: 26.433333333333334
m_TimeScale: 1 m_TimeScale: 1
m_ParentTrack: {fileID: -1413438062129672872} m_ParentTrack: {fileID: -1413438062129672872}
m_EaseInDuration: 0 m_EaseInDuration: 0
@ -1328,10 +1316,10 @@ MonoBehaviour:
m_PreExtrapolationTime: 0 m_PreExtrapolationTime: 0
m_DisplayName: Active m_DisplayName: Active
- m_Version: 1 - m_Version: 1
m_Start: 18.45 m_Start: 34.63333333333333
m_ClipIn: 0 m_ClipIn: 0
m_Asset: {fileID: -1899992291090105534} m_Asset: {fileID: -3997953796982333272}
m_Duration: 16.483333333333334 m_Duration: 64.4
m_TimeScale: 1 m_TimeScale: 1
m_ParentTrack: {fileID: -1413438062129672872} m_ParentTrack: {fileID: -1413438062129672872}
m_EaseInDuration: 0 m_EaseInDuration: 0
@ -1435,20 +1423,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 699a85771c17e864fafab4a53a5fc5bd, type: 3} m_Script: {fileID: 11500000, guid: 699a85771c17e864fafab4a53a5fc5bd, type: 3}
m_Name: Qlist Marker m_Name: Qlist Marker
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Time: 14.999999999999998 m_Time: 48
stateName: PositionCloud stateName: PositionCloud
--- !u!114 &1070640607451708952
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fde0d25a170598d46a0b9dc16b4527a5, type: 3}
m_Name: ActivationPlayableAsset
m_EditorClassIdentifier:
--- !u!114 &1491924835370573215 --- !u!114 &1491924835370573215
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@ -1461,7 +1437,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 699a85771c17e864fafab4a53a5fc5bd, type: 3} m_Script: {fileID: 11500000, guid: 699a85771c17e864fafab4a53a5fc5bd, type: 3}
m_Name: Qlist Marker m_Name: Qlist Marker
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Time: 5.043995216488838 m_Time: 16
stateName: needles stateName: needles
--- !u!114 &1812876903919483269 --- !u!114 &1812876903919483269
MonoBehaviour: MonoBehaviour:
@ -1475,7 +1451,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 699a85771c17e864fafab4a53a5fc5bd, type: 3} m_Script: {fileID: 11500000, guid: 699a85771c17e864fafab4a53a5fc5bd, type: 3}
m_Name: Qlist Marker m_Name: Qlist Marker
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Time: 8.800000000000017 m_Time: 32
stateName: PontCloud stateName: PontCloud
--- !u!114 &3556270976239842146 --- !u!114 &3556270976239842146
MonoBehaviour: MonoBehaviour:
@ -1502,76 +1478,7 @@ MonoBehaviour:
m_Start: 0 m_Start: 0
m_ClipIn: 0 m_ClipIn: 0
m_Asset: {fileID: -8370506424386934380} m_Asset: {fileID: -8370506424386934380}
m_Duration: 13.816666666666666 m_Duration: 99.11111111111113
m_TimeScale: 1
m_ParentTrack: {fileID: 3556270976239842146}
m_EaseInDuration: 0
m_EaseOutDuration: 0
m_BlendInDuration: 0
m_BlendOutDuration: 0
m_MixInCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_MixOutCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_BlendInCurveMode: 0
m_BlendOutCurveMode: 0
m_ExposedParameterNames: []
m_AnimationCurves: {fileID: 0}
m_Recordable: 0
m_PostExtrapolationMode: 0
m_PreExtrapolationMode: 0
m_PostExtrapolationTime: 0
m_PreExtrapolationTime: 0
m_DisplayName: Active
- m_Version: 1
m_Start: 29.933333333333334
m_ClipIn: 0
m_Asset: {fileID: 8899670701702050459}
m_Duration: 5
m_TimeScale: 1 m_TimeScale: 1
m_ParentTrack: {fileID: 3556270976239842146} m_ParentTrack: {fileID: 3556270976239842146}
m_EaseInDuration: 0 m_EaseInDuration: 0
@ -1668,18 +1575,6 @@ MonoBehaviour:
- {fileID: 37605182043105268} - {fileID: 37605182043105268}
- {fileID: -1969701757162001956} - {fileID: -1969701757162001956}
- {fileID: -3064974820541009618} - {fileID: -3064974820541009618}
--- !u!114 &4358350022667476115
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fde0d25a170598d46a0b9dc16b4527a5, type: 3}
m_Name: ActivationPlayableAsset
m_EditorClassIdentifier:
--- !u!114 &6558136479817748790 --- !u!114 &6558136479817748790
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@ -1704,146 +1599,8 @@ MonoBehaviour:
- m_Version: 1 - m_Version: 1
m_Start: 0 m_Start: 0
m_ClipIn: 0 m_ClipIn: 0
m_Asset: {fileID: -3787263661427963135} m_Asset: {fileID: -4535818528058612151}
m_Duration: 9.983333333333334 m_Duration: 99.11111111111113
m_TimeScale: 1
m_ParentTrack: {fileID: 6558136479817748790}
m_EaseInDuration: 0
m_EaseOutDuration: 0
m_BlendInDuration: 0
m_BlendOutDuration: 0
m_MixInCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_MixOutCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_BlendInCurveMode: 0
m_BlendOutCurveMode: 0
m_ExposedParameterNames: []
m_AnimationCurves: {fileID: 0}
m_Recordable: 0
m_PostExtrapolationMode: 0
m_PreExtrapolationMode: 0
m_PostExtrapolationTime: 0
m_PreExtrapolationTime: 0
m_DisplayName: Active
- m_Version: 1
m_Start: 10.633333333333335
m_ClipIn: 0
m_Asset: {fileID: 1070640607451708952}
m_Duration: 14.199999999999996
m_TimeScale: 1
m_ParentTrack: {fileID: 6558136479817748790}
m_EaseInDuration: 0
m_EaseOutDuration: 0
m_BlendInDuration: 0
m_BlendOutDuration: 0
m_MixInCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_MixOutCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_BlendInCurveMode: 0
m_BlendOutCurveMode: 0
m_ExposedParameterNames: []
m_AnimationCurves: {fileID: 0}
m_Recordable: 0
m_PostExtrapolationMode: 0
m_PreExtrapolationMode: 0
m_PostExtrapolationTime: 0
m_PreExtrapolationTime: 0
m_DisplayName: Active
- m_Version: 1
m_Start: 29.933333333333334
m_ClipIn: 0
m_Asset: {fileID: 4358350022667476115}
m_Duration: 5
m_TimeScale: 1 m_TimeScale: 1
m_ParentTrack: {fileID: 6558136479817748790} m_ParentTrack: {fileID: 6558136479817748790}
m_EaseInDuration: 0 m_EaseInDuration: 0
@ -2150,6 +1907,18 @@ AnimationClip:
m_HasGenericRootTransform: 1 m_HasGenericRootTransform: 1
m_HasMotionFloatCurves: 0 m_HasMotionFloatCurves: 0
m_Events: [] m_Events: []
--- !u!114 &8245851212763102776
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fde0d25a170598d46a0b9dc16b4527a5, type: 3}
m_Name: ActivationPlayableAsset
m_EditorClassIdentifier:
--- !u!114 &8738518351971335881 --- !u!114 &8738518351971335881
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
@ -2164,15 +1933,3 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Time: 0 m_Time: 0
stateName: Intro stateName: Intro
--- !u!114 &8899670701702050459
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fde0d25a170598d46a0b9dc16b4527a5, type: 3}
m_Name: ActivationPlayableAsset
m_EditorClassIdentifier:

View file

@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1 m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0} m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0} m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.0013490503, g: 0.0011814049, b: 0.0008122615, a: 1} m_IndirectSpecularColor: {r: 0.0013421604, g: 0.0011744275, b: 0.0008066663, a: 1}
m_UseRadianceAmbientProbe: 0 m_UseRadianceAmbientProbe: 0
--- !u!157 &3 --- !u!157 &3
LightmapSettings: LightmapSettings:
@ -131,6 +131,7 @@ GameObject:
- component: {fileID: 65620553} - component: {fileID: 65620553}
- component: {fileID: 65620552} - component: {fileID: 65620552}
- component: {fileID: 65620555} - component: {fileID: 65620555}
- component: {fileID: 65620554}
m_Layer: 0 m_Layer: 0
m_Name: Timeline m_Name: Timeline
m_TagString: Untagged m_TagString: Untagged
@ -179,6 +180,22 @@ Transform:
m_Father: {fileID: 1930141240} m_Father: {fileID: 1930141240}
m_RootOrder: 2 m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &65620554
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 65620551}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 295c71eba0347b04aa841307f8555e7b, type: 3}
m_Name:
m_EditorClassIdentifier:
oneBarLoopButton: 86
fourBarLoopButton: 94
channel: 3
stateManager: {fileID: 850208555}
--- !u!114 &65620555 --- !u!114 &65620555
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -193,6 +210,8 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
playableDirector: {fileID: 65620552} playableDirector: {fileID: 65620552}
stateManager: {fileID: 850208555} stateManager: {fileID: 850208555}
transitionController: {fileID: 65620554}
initTransitionTime: 16
--- !u!1 &155821760 --- !u!1 &155821760
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1067,6 +1086,7 @@ GameObject:
- component: {fileID: 850208554} - component: {fileID: 850208554}
- component: {fileID: 850208555} - component: {fileID: 850208555}
- component: {fileID: 850208556} - component: {fileID: 850208556}
- component: {fileID: 850208557}
m_Layer: 0 m_Layer: 0
m_Name: PdBackend m_Name: PdBackend
m_TagString: Untagged m_TagString: Untagged
@ -1117,9 +1137,42 @@ MonoBehaviour:
m_StringArgument: m_StringArgument:
m_BoolArgument: 0 m_BoolArgument: 0
m_CallState: 2 m_CallState: 2
- m_Target: {fileID: 65620554}
m_MethodName: OnMidiMessageReceived
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
- m_Target: {fileID: 850208557}
m_MethodName: OnMidiMessageReceived
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
midiSyncReceived: midiSyncReceived:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls:
- m_Target: {fileID: 65620554}
m_MethodName: OnSyncReceived
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
samplePlayback: 0 samplePlayback: 0
--- !u!114 &850208555 --- !u!114 &850208555
MonoBehaviour: MonoBehaviour:
@ -1174,6 +1227,21 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
pdBackend: {fileID: 850208554} pdBackend: {fileID: 850208554}
channel: 1 channel: 1
--- !u!114 &850208557
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 850208552}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 41f237c64f02a2241a30c5c0b5c087e6, type: 3}
m_Name:
m_EditorClassIdentifier:
logAll: 0
logFiltered: 0
filterStatusByte: 128
--- !u!1 &859452785 --- !u!1 &859452785
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View file

@ -0,0 +1,64 @@
using UnityEngine;
using UnityEngine.Events;
namespace cylvester
{
public class MidiTransitionController : MonoBehaviour
{
[SerializeField] private int oneBarLoopButton = 86;
[SerializeField] private int fourBarLoopButton = 94;
private int oneBarLoop = 96;
private int fourBarLoop = 384;
private int currentTick;
private float transitionLength = 16; //sets the duration in Seconds, how long a transition has to be in "TimeLine" to be played back correctly when CYLVESTER is hooked up correctly
private float restTimeS = 1f; //init transTime is 1 Second
[SerializeField, Range(1, 16)] private int channel = 1;
[SerializeField] StateManager stateManager;
public void Start()
{
}
public void OnSyncReceived(MidiSync midiSync, int counter)
{
currentTick = counter;
}
public void OnMidiMessageReceived(MidiMessage mes)
{
if (mes.Status - 176 == channel - 1) //Which Channel
{
if (mes.Data1 == oneBarLoopButton) //Button fourBarLoop
{
RestTime(fourBarLoop - currentTick % fourBarLoop);
}
if (mes.Data1 == fourBarLoopButton) //Button oneBarLoop
{
RestTime(oneBarLoop - currentTick % oneBarLoop);
}
}
}
public void RestTime(int restTick)
{
restTimeS = restTick / 24.0f / stateManager.CurrentState.Bpm * 60;
}
public float TimelinePlaybackSpeed ()
{
float timelinePlaybackSpeed;
/* if (restTimeS == 0f)
{
restTimeS = initTransitionTime; //Initial Transition Time
}
*/
timelinePlaybackSpeed = transitionLength / Mathf.Clamp(restTimeS, 0.001f, transitionLength);
return timelinePlaybackSpeed;
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 295c71eba0347b04aa841307f8555e7b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,4 +1,4 @@
#N canvas 379 263 1128 544 10; #N canvas 397 217 1128 511 10;
#X declare -lib timbreID/timbreIDLib; #X declare -lib timbreID/timbreIDLib;
#X obj 127 433 adc~ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; #X obj 127 433 adc~ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
#X obj 57 474 dac~, f 6; #X obj 57 474 dac~, f 6;
@ -290,21 +290,21 @@ Roses_Front.wav \; TimbreID_Test.wav \;;
#X text 416 223 176... control channel 1; #X text 416 223 176... control channel 1;
#X obj 6 194 midirealtimein; #X obj 6 194 midirealtimein;
#X obj 242 41 netreceive -u 54345; #X obj 242 41 netreceive -u 54345;
#X obj 598 90 cnv 15 500 60 empty current Outro 20 12 0 45 -204786 #X obj 598 90 cnv 15 500 60 empty current PositionCloud 20 12 0 45
-66577 0; -204786 -66577 0;
#X obj 786 234 bng 50 250 50 0 empty empty next 15 25 0 10 -204786 #X obj 786 234 bng 50 250 50 0 empty empty next 15 25 0 10 -204786
-1 -1; -1 -1;
#X obj 596 227 bng 50 250 50 0 empty empty rewind 7 25 0 10 -261234 #X obj 596 227 bng 50 250 50 0 empty empty rewind 7 25 0 10 -261234
-1 -1; -1 -1;
#X msg 596 303 send 176 127 0; #X msg 596 303 send 176 127 0;
#X text 896 305 <--- midi is temporal; #X text 896 305 <--- midi is temporal;
#X obj 692 231 bng 50 250 50 0 empty empty previous 4 25 0 10 -204786 #X obj 692 230 bng 50 250 50 0 empty empty previous 4 25 0 10 -204786
-1 -1; -1 -1;
#X msg 692 303 send 176 127 1; #X msg 692 303 send 176 127 1;
#X msg 786 304 send 176 127 2; #X msg 786 304 send 176 127 2;
#X obj 594 46 cnv 12 500 30 empty previous Silent_Hill 20 12 0 25 -262130 #X obj 594 46 cnv 12 500 30 empty previous PontCloud 20 12 0 25 -262130
-66577 0; -66577 0;
#X obj 596 152 cnv 12 500 30 empty next --- 20 12 0 25 -262130 -66577 #X obj 596 152 cnv 12 500 30 empty next Forces 20 12 0 25 -262130 -66577
0; 0;
#X obj 879 467 declare -lib timbreID/timbreIDLib; #X obj 879 467 declare -lib timbreID/timbreIDLib;
#N canvas 28 541 1273 735 timbreID_example 0; #N canvas 28 541 1273 735 timbreID_example 0;
@ -420,7 +420,7 @@ samples/kick.wav kick \, read -resize samples/closed.wav closed;
#X connect 5 0 4 0; #X connect 5 0 4 0;
#X connect 6 0 7 0; #X connect 6 0 7 0;
#X restore 405 71 pd shmem; #X restore 405 71 pd shmem;
#N canvas -2491 133 1014 1074 CYLVESTERmidi 0; #N canvas -2849 181 1014 1074 CYLVESTERmidi 1;
#X obj 192 306 bng 15 250 50 0 4bar_trig_sim empty 4_Bar_trigger_Sim #X obj 192 306 bng 15 250 50 0 4bar_trig_sim empty 4_Bar_trigger_Sim
17 7 0 10 -203904 -1 -1; 17 7 0 10 -203904 -1 -1;
#X obj 192 287 bng 15 250 50 0 1bar_trig_sim empty 1_Bar_trigger_Sim #X obj 192 287 bng 15 250 50 0 1bar_trig_sim empty 1_Bar_trigger_Sim
@ -721,7 +721,7 @@ samples/kick.wav kick \, read -resize samples/closed.wav closed;
#X text 205 144 Clock Sim.:; #X text 205 144 Clock Sim.:;
#X obj 211 167 tgl 15 0 clock_sim_start_stop empty empty 17 7 0 10 #X obj 211 167 tgl 15 0 clock_sim_start_stop empty empty 17 7 0 10
-204786 -1 -1 0 1; -204786 -1 -1 0 1;
#X text 30 289 Simulate the Press of a 1_Bar or 4_Bar trigger.; #X text 30 264 Simulate the Press of a 1_Bar or 4_Bar trigger.;
#X text 43 436 ms left for transition; #X text 43 436 ms left for transition;
#X text 24 375 ticks left for transition; #X text 24 375 ticks left for transition;
#X obj 392 31 cnv 15 500 200 empty empty Midi_from_CYLVESTER 20 12 #X obj 392 31 cnv 15 500 200 empty empty Midi_from_CYLVESTER 20 12
@ -803,6 +803,8 @@ samples/kick.wav kick \, read -resize samples/closed.wav closed;
#X connect 58 0 47 0; #X connect 58 0 47 0;
#X restore 598 377 pd CYLVESTERmidi; #X restore 598 377 pd CYLVESTERmidi;
#X text 701 378 <--- this is only for reference; #X text 701 378 <--- this is only for reference;
#X obj 758 193 ctlin 94 3;
#X obj 845 191 ctlin 86 3;
#X connect 0 0 2 0; #X connect 0 0 2 0;
#X connect 0 1 2 1; #X connect 0 1 2 1;
#X connect 0 2 2 2; #X connect 0 2 2 2;
@ -843,3 +845,5 @@ samples/kick.wav kick \, read -resize samples/closed.wav closed;
#X connect 30 0 11 0; #X connect 30 0 11 0;
#X connect 31 0 11 0; #X connect 31 0 11 0;
#X connect 36 0 11 0; #X connect 36 0 11 0;
#X connect 40 0 25 0;
#X connect 41 0 25 0;

View file

@ -1,7 +1,7 @@
Scene Title,BPM,Notes Scene Title,BPM,Notes
Intro,60,Show all Intro,162,Show all
needles,60,only needles needles,162,only needles
PontCloud,90,only points PontCloud,162,only points
PositionCloud,120,only points different view PositionCloud,162,only points different view
Forces,60,only forces Forces,162,only forces
ShowAll,60,all again different poisition ShowAll,162,all again different poisition
1 Scene Title BPM Notes
2 Intro 60 162 Show all
3 needles 60 162 only needles
4 PontCloud 90 162 only points
5 PositionCloud 120 162 only points different view
6 Forces 60 162 only forces
7 ShowAll 60 162 all again different poisition