Example #1
0
    // Use this for initialization
    void Start()
    {
        lastSavePath = System.IO.Path.Combine(Application.streamingAssetsPath, "Melodrive");

        md              = GameObject.Find("Melodrive").GetComponent <MelodrivePlugin>();
        md.ProjectLoad += new MelodrivePlugin.ProjectLoadHandler(ProjectLoad);
    }
Example #2
0
    // Use this for initialization
    void Start()
    {
        md         = GameObject.Find("Melodrive").GetComponent <MelodrivePlugin>();
        md.NoteOn += new MelodrivePlugin.NoteOnHandler(NoteOn);

        kicker = GameObject.Find("Kicker");
    }
    public void OnEmotionChange()
    {
        MelodrivePlugin md            = GameObject.Find("Melodrive").GetComponent <MelodrivePlugin>();
        Dropdown        emotionChange = GameObject.Find("EmotionSelect").GetComponent <Dropdown>();
        string          emotion       = emotionChange.options[emotionChange.value].text.ToLower();

        md.SetEmotion(emotion);
    }
Example #4
0
    // Use this for initialization
    void Start()
    {
        targetScale = transform.localScale;

        md       = GameObject.Find("Melodrive").GetComponent <MelodrivePlugin>();
        md.Beat += new MelodrivePlugin.BeatHandler(Beat);
        body     = GetComponent <Rigidbody>();
    }
    private void Start()
    {
        md = GameObject.Find("Melodrive").GetComponent <MelodrivePlugin>();
        md.Init("ambient", "happy");

        // When changing styles, we reccomend they are preloaded first to avoid any audio jitters
        md.PreloadStyles();
        md.Play();
    }
Example #6
0
    // Use this for initialization
    void Start()
    {
        md = GameObject.Find("Melodrive").GetComponent <MelodrivePlugin>();

        // Ensembles are dependent on Style, so we need to listen for when that changes
        md.CueChange += new MelodrivePlugin.CueChangeHandler(CueChange);

        ensembleSelect = GameObject.Find("EnsembleSelect").GetComponent <Dropdown>();
    }
    private void Start()
    {
        md = GameObject.Find("Melodrive").GetComponent <MelodrivePlugin>();

        // Musical Seeds are created asynchronously - this means we need to listen to callbacks
        // to find out when they are ready to be queried.
        md.NewMusicalSeed += new MelodrivePlugin.NewMusicalSeedHandler(NewMusicalSeed);
        md.CueChange      += new MelodrivePlugin.CueChangeHandler(CueChange);

        seedSelect = GameObject.Find("SeedSelect").GetComponent <Dropdown>();
    }
Example #8
0
    public IEnumerator TestMelodrivePrefab()
    {
        // Use the Assert class to test conditions.
        // yield to skip a frame

        // Test Melodrive Prefab can be instansiated
        GameObject mdPrefab = Object.Instantiate(Resources.Load("Melodrive")) as GameObject;

        Assert.NotNull(mdPrefab, "Unable to Instantiate Melodrive Prefab");

        mdPrefab.AddComponent <AudioListener>();
        mdPrefab.AddComponent <MDBehaviourTest>();

        //Test component creation
        md = mdPrefab.GetComponent <MelodrivePlugin>();
        Assert.NotNull(md, "Unable to find MelodrivePlugin component");

        tester = mdPrefab.GetComponent <MDBehaviourTest>();
        Assert.NotNull(tester, "Unable to find MDBehaviourTest component");

        yield return(TestPreInit());

        Debug.Log("TestPreInit passed!");

        tester.MDInit();

        //Run melodrive until we get the first Cue
        tester.cueChanged = false;
        tester.frameCount = 0;
        while (tester.frameCount < shortMaxFrames && !tester.cueChanged)
        {
            yield return(null);
        }

        yield return(TestTransport());

        Debug.Log("TestTransport passed!");

        md.Play();

        yield return(TestStyles());

        Debug.Log("TestStyles passed!");

        yield return(TestMusicalSeeds());

        Debug.Log("TestMusicalSeeds passed!");

        yield return(TestEnsembles());

        Debug.Log("TestEnsembles passed!");
    }
    void Start ()
    {
        md = GameObject.Find("Melodrive").GetComponent<MelodrivePlugin>();

        // First, set up the emotional points in Melodrive
        emotionIDs = new Dictionary<string, int>();
        points = new GameObject[]{ GameObject.Find("Happy"), GameObject.Find("Tender"), GameObject.Find("Sad"), GameObject.Find("Angry") };
        foreach (GameObject p in points)
        {
            Vector3 pos = p.transform.position;
            // Emotional points are 2-dimensional, so here we are using x and z.
            int emotionID = md.AddEmotionalPoint(pos.x, pos.z, p.name.ToLower());
            // Melodrive keeps its own emotion point IDs, so we need to link it to the GameObject
            emotionIDs[p.name] = emotionID;
        }

        // Setting the initial listener position
        listener = GameObject.Find("Listener");
        md.SetListenerPosition(listener.transform.position.x, listener.transform.position.z);

        // Choose a new random target
        target = points[(int)(Random.value * points.Length)];
    }
Example #10
0
 void Start()
 {
     md                 = GameObject.Find("Melodrive(Clone)").GetComponent <MelodrivePlugin>();
     md.CueChange      += new MelodrivePlugin.CueChangeHandler(OnCueChange);
     md.NewMusicalSeed += new MelodrivePlugin.NewMusicalSeedHandler(OnNewMusicalSeed);
 }
 // Use this for initialization
 void Start()
 {
     va = new Vector2();
     md = GameObject.Find("Melodrive").GetComponent <MelodrivePlugin>();
 }
    // Use this for initialization
    void Start()
    {
        lastSavePath = System.IO.Path.Combine(Application.streamingAssetsPath, "Melodrive");
        if (!Directory.Exists(lastSavePath))
        {
            Directory.CreateDirectory(lastSavePath);
        }

        // Setup Melodrive....
        md                 = GameObject.Find("Melodrive").GetComponent <MelodrivePlugin>();
        md.Beat           += new MelodrivePlugin.BeatHandler(Beat);
        md.NewMusicalSeed += new MelodrivePlugin.NewMusicalSeedHandler(NewMusicalSeed);
        md.CueChange      += new MelodrivePlugin.CueChangeHandler(CueChange);
        md.ProjectLoad    += new MelodrivePlugin.ProjectLoadHandler(ProjectLoad);


        // init style dropdown
        Dropdown styleChange = GameObject.Find("StyleSelect").GetComponent <Dropdown>();

        styleChange.ClearOptions();
        string[] styles = md.GetStyles();
        List <Dropdown.OptionData> options = new List <Dropdown.OptionData>();
        int selectedValue = -1;

        for (int i = 0; i < styles.Length; i++)
        {
            Dropdown.OptionData item = new Dropdown.OptionData();
            item.text = styles[i];
            options.Add(item);
            if (style == styles[i])
            {
                selectedValue = i;
            }
        }
        styleChange.AddOptions(options);

        if (selectedValue > -1)
        {
            styleChange.value = selectedValue;
        }

        md.Init(style, emotion);
        md.PreloadStyles();

        Vector3 initPos = new Vector3();

        GameObject[] points = { GameObject.Find("Happy"), GameObject.Find("Tender"), GameObject.Find("Sad"), GameObject.Find("Angry") };
        for (int i = 0; i < points.Length; i++)
        {
            GameObject p   = points[i];
            Vector3    pos = p.transform.position;
            if (p.name.ToLower() == emotion)
            {
                target  = p;
                initPos = pos;
            }
            md.AddEmotionalPoint(pos.x, pos.z, p.name.ToLower());
        }

        listener = GameObject.Find("Listener");
        listener.transform.position = initPos;
        targetScale  = listener.transform.localScale;
        targetScale2 = new Vector3(1, 1, 1);
        md.SetListenerPosition(listener.transform.position.x, listener.transform.position.z);
        init = true;

        //updateMusicalSeeds = true;
        //updateEnsembles = true;

        OnUIAutoPlay();
    }