Tazman-AudioRecent Updates

Recent Updates

  • Updated on: Nov 07, 2023

    Runtime Parameters

  • Updated on: Nov 07, 2023

    Modulators

  • Updated on: Nov 07, 2023

    Project Hierarchy

  • Updated on: Nov 06, 2023

    Exporting an FPK

  • Updated on: Nov 03, 2023

    Glossary

  • Updated on: Feb 22, 2023

    AudioMixer Manager

    Manual Fabric Manual
  • Updated on: Feb 22, 2023

    Examples API

    using UnityEngine;
    using System.Collections;
    using System.Collections.Generic;
    public class ExamplesAPI : MonoBehaviour 
    {
        public int eventID;
    	// Use this for initialization
    	void Start () {}
    	
    	// Update is called once per frame
    	void Update () 
    	{
    		// Example 1: Posting an event
    		if(Input.GetKeyDown(KeyCode.Alpha1)) 
    		{
    			/////////////////////////////////////////////////////////////
    			// This event by default will send the PlaySound EventAction.
    			// The gameObject used is the one that has the FabricManager
                Fabric.EventManager.Instance.PostEvent("Simple");
    		}
    		// Example 2: Posting an event with a gameObject
    		else if(Input.GetKeyDown(KeyCode.Alpha2)) 
    		{
    			/////////////////////////////////////////////////////////////
    			// This event by default will send the PlaySound EventAction.
    			// The gameObject passed is used to track position and associated with an instance if max instances property is set
    			
    			Fabric.EventManager.Instance.PostEvent("Simple", gameObject);
    		}
    		// Example 3: Posting an event with a PlaySound action and a gameObject
    		else if(Input.GetKeyDown(KeyCode.Alpha3)) 
    		{
    			Fabric.EventManager.Instance.PostEvent("Simple", Fabric.EventAction.PlaySound, null, gameObject);
    		}
    		// Example 4: Posting a stop sound event action
    		else if(Input.GetKeyDown(KeyCode.Alpha4)) 
    		{
    			Fabric.EventManager.Instance.PostEvent("Simple", Fabric.EventAction.StopSound, null, gameObject);
    		}
    		// Example 5: Posting a timeline SetParameter value
    		else if(Input.GetKeyDown(KeyCode.Alpha5)) 
    		{
    			Fabric.EventManager.Instance.SetParameter("Timeline", "Parameter", 0.5f, gameObject);
    		}
    		// Example 6: Posting a SetDSPParameter value
    		else if(Input.GetKeyDown(KeyCode.Alpha6)) 
    		{
    			Fabric.EventManager.Instance.SetDSPParameter("Event", Fabric.DSPType.LowPass, "CutoffFrequency", 5000, 5, 0.5f, gameObject);
    		}
    		// Example 7: Adding dynamic mixer preset
    		else if(Input.GetKeyDown(KeyCode.Alpha7)) 
    		{
    			// The event name must be "DynamicMixer"
    			Fabric.EventManager.Instance.PostEvent ( "DynamicMixer", Fabric.EventAction.AddPreset, "MuteAll", null ) ;
    			
    			Fabric.EventManager.Instance.PostEvent ( "DynamicMixer", Fabric.EventAction.AddPreset, "MuteAll", null ) ;
    		}
    		// Example 8: Removing dynamic mixer preset
    		else if(Input.GetKeyDown(KeyCode.Alpha8)) 
    		{
    			// The event name must be "DynamicMixer"
    			Fabric.EventManager.Instance.PostEvent ( "DynamicMixer", Fabric.EventAction.RemovePreset, "MuteAll", null ) ;
    		}       
    		// Example 9: Get component by name, setting volume, querying if component is playing and if not play it
    		else if(Input.GetKeyDown(KeyCode.Alpha9))
    		{
    			Fabric.Component component = Fabric.FabricManager.Instance.GetComponentByName("Audio_Fabric_SFX_Test");
    		
    			if(component != null)
    			{
    				component.Volume = 0.5f;
    				
    				if(component.IsPlaying() == false)
    				{
    					component.Play(gameObject);
    				}
    			}
    		}
    		// Loading prefab that has Fabric components into the Fabric hiearchy with a target path
    		else if(Input.GetKeyDown(KeyCode.A))
    		{
    			Fabric.FabricManager.Instance.LoadAsset("NameOfPrefab","Audio_SFX");
    		}
    		// Unloading component from the Fabric hiearchy
    		else if(Input.GetKeyDown(KeyCode.B))
    		{
    			Fabric.FabricManager.Instance.UnloadAsset("Audio_SFX");
    		}
    		// Initialise default component parameters (ideal for setting parameters in animation systems) 
    		else if(Input.GetKeyDown(KeyCode.C)) 
    		{
    			Fabric.InitialiseParameters parameters = new Fabric.InitialiseParameters();
    			
    			parameters._pitch.Value = 2.0f;
    				
    			Fabric.EventManager.Instance.PostEvent("Simple",Fabric.EventAction.PlaySound, null, gameObject, parameters);
    		}
            // Check if an event is playing
            else if (Input.GetKeyDown(KeyCode.D))
            {
                if (Fabric.EventManager.Instance.IsEventActive("Simple", gameObject))
                {
                    Debug.Log("Event Simple is Active");
                }
                else
                {
                    Debug.Log("Event Simple is Inactive");
                }
            }
    		else if(Input.GetKeyDown(KeyCode.E))
    		{
    			Fabric.Component[] components = Fabric.FabricManager.Instance.GetComponentsByName("Audio_Simple", gameObject);
    		
    			if(components != null && components.Length> 0)
    			{
    				components[0].Volume = 0.5f;
    				
    				if(components[0].IsPlaying() == true)
    				{
    					Debug.Log("Component is playing");
    				}
    			}
    		}
            if (Input.GetKeyDown(KeyCode.F))
            {
                eventID = Fabric.EventManager.GetIDFromEventName("Simple");
                Fabric.EventManager.Instance.PostEvent(eventID, gameObject);
            }
        }
    }
    Manual Fabric Manual
  • Updated on: Feb 22, 2023

    Version 2.2.2

    This special Beta version of Fabric introduces a number of new features, improvements and bug fixes.

    Manual Fabric Manual
  • Updated on: Feb 22, 2023

    Audio Asset Importer

    Manual Fabric Manual
  • Updated on: Feb 22, 2023

    Global Parameters

    Manual Fabric Manual