Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions UnityAdmProject/Assets/UnityAdm/Editor/UnityAdmEditor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ private void OnGUI()
{
stopPlayback();
}
if (GUILayout.Button("Apply new settings"))
{
apply();
}
if (GUILayout.Button("Apply new settings and Reinitialise"))
{
reinit();
Expand Down Expand Up @@ -66,6 +70,14 @@ private void stopPlayback()
script.stopPlayback();
}

private void apply()
{
if (!Application.isPlaying) return;

var script = FindObjectOfType<UnityAdm>();
script.applySettings();
}

private void reinit()
{
if (!Application.isPlaying) return;
Expand Down
11 changes: 11 additions & 0 deletions UnityAdmProject/Assets/UnityAdm/Scripts/AudioRenderingBear.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ public UInt64 id

private UInt64 itemId;
public int blockSendCounter = 0;
public long lastSentBlockRevision = -1;
}

public class BearItemTracker
Expand Down Expand Up @@ -111,6 +112,16 @@ public int incBlockSendCounterAtIndex(int index)
return orderedFilteredItems[index].blockSendCounter;
}

public void setLastSentBlockRevisionForIndex(int index, long revision)
{
orderedFilteredItems[index].lastSentBlockRevision = revision;
}

public long getLastSentBlockRevisionForIndex(int index)
{
return orderedFilteredItems[index].lastSentBlockRevision;
}

public void updateMappings()
{
if (mappingsDirty)
Expand Down
138 changes: 125 additions & 13 deletions UnityAdmProject/Assets/UnityAdm/Scripts/GlobalState.cs
Original file line number Diff line number Diff line change
Expand Up @@ -94,31 +94,143 @@ public static bool createIndividualGameObjects()
public static float BearOutputGain = 0.775f;
public static SrcType BearSrcType = SrcType.SincMediumQuality;

// Offsetting
public static double directSpeakersXOffset = 0.0;
public static double directSpeakersYOffset = 0.0;
public static double directSpeakersZOffset = 0.0;
// Runtime-modifiable Properties
public static long propertiesRevisionCounter = 0;

/// Offsetting
private static double _directSpeakersXOffset = 0.0;
public static double directSpeakersXOffset
{
get { return _directSpeakersXOffset; }
set
{
_directSpeakersXOffset = value;
propertiesRevisionCounter++;
}
}
private static double _directSpeakersYOffset = 0.0;
public static double directSpeakersYOffset
{
get { return _directSpeakersYOffset; }
set
{
_directSpeakersYOffset = value;
propertiesRevisionCounter++;
}
}
private static double _directSpeakersZOffset = 0.0;
public static double directSpeakersZOffset
{
get { return _directSpeakersZOffset; }
set
{
_directSpeakersZOffset = value;
propertiesRevisionCounter++;
}
}
public static bool applyDirectSpeakersCartOffset
{
get { return (directSpeakersXOffset != 0.0 || directSpeakersYOffset != 0.0 || directSpeakersZOffset != 0.0); }
}
public static double directSpeakersAzimuthOffset = 0.0;
public static double directSpeakersElevationOffset = 0.0;
public static double directSpeakersDistanceMultiplier = 1.0;
private static double _directSpeakersAzimuthOffset = 0.0;
public static double directSpeakersAzimuthOffset
{
get { return _directSpeakersAzimuthOffset; }
set
{
_directSpeakersAzimuthOffset = value;
propertiesRevisionCounter++;
}
}
private static double _directSpeakersElevationOffset = 0.0;
public static double directSpeakersElevationOffset
{
get { return _directSpeakersElevationOffset; }
set
{
_directSpeakersElevationOffset = value;
propertiesRevisionCounter++;
}
}
private static double _directSpeakersDistanceMultiplier = 1.0;
public static double directSpeakersDistanceMultiplier
{
get { return _directSpeakersDistanceMultiplier; }
set
{
_directSpeakersDistanceMultiplier = value;
propertiesRevisionCounter++;
}
}
public static bool applyDirectSpeakersSphOffset
{
get { return (directSpeakersAzimuthOffset != 0.0 || directSpeakersElevationOffset != 0.0 || directSpeakersDistanceMultiplier != 1.0); }
}
public static double objectsXOffset = 0.0;
public static double objectsYOffset = 0.0;
public static double objectsZOffset = 0.0;

private static double _objectsXOffset = 0.0;
public static double objectsXOffset
{
get { return _objectsXOffset; }
set
{
_objectsXOffset = value;
propertiesRevisionCounter++;
}
}
private static double _objectsYOffset = 0.0;
public static double objectsYOffset
{
get { return _objectsYOffset; }
set
{
_objectsYOffset = value;
propertiesRevisionCounter++;
}
}
private static double _objectsZOffset = 0.0;
public static double objectsZOffset
{
get { return _objectsZOffset; }
set
{
_objectsZOffset = value;
propertiesRevisionCounter++;
}
}
public static bool applyObjectsCartOffset
{
get { return (objectsXOffset != 0.0 || objectsYOffset != 0.0 || objectsZOffset != 0.0); }
}
public static double objectsAzimuthOffset = 0.0;
public static double objectsElevationOffset = 0.0;
public static double objectsDistanceMultiplier = 1.0;
private static double _objectsAzimuthOffset = 0.0;
public static double objectsAzimuthOffset
{
get { return _objectsAzimuthOffset; }
set
{
_objectsAzimuthOffset = value;
propertiesRevisionCounter++;
}
}
private static double _objectsElevationOffset = 0.0;
public static double objectsElevationOffset
{
get { return _objectsElevationOffset; }
set
{
_objectsElevationOffset = value;
propertiesRevisionCounter++;
}
}
private static double _objectsDistanceMultiplier = 1.0;
public static double objectsDistanceMultiplier
{
get { return _objectsDistanceMultiplier; }
set
{
_objectsDistanceMultiplier = value;
propertiesRevisionCounter++;
}
}
public static bool applyObjectsSphOffset
{
get { return (objectsAzimuthOffset != 0.0 || objectsElevationOffset != 0.0 || objectsDistanceMultiplier != 1.0); }
Expand Down
Loading