Пример #1
0
    private void Init()
    {
        if (Initialized || Disabled)
        {
            return;
        }

        try
        {
            int ver = SunVox.sv_init("0", 11025, 2, 0);             //lo-fi 4ever
            if (ver >= 0)
            {
                int major  = (ver >> 16) & 255;
                int minor1 = (ver >> 8) & 255;
                int minor2 = (ver) & 255;
                Logger.LogTrace($"SunVox lib version: {major}.{minor1}.{minor2}", Category.SunVox);

                InitAnnounce();
                InitMusic();
                InitFX();
                Initialized = true;
            }
            else
            {
                Logger.LogWarning("sv_init() error " + ver, Category.SunVox);
            }
        }
        catch (Exception e)
        {
            Logger.LogWarning("Exception: " + e, Category.SunVox);
        }
    }
Пример #2
0
    private void Start()
    {
        log("-Press Space for toggle music-\n");

        try {
            int ver = SunVox.sv_init("0", 44100, 2, 0);
            if (ver >= 0)
            {
                int major  = (ver >> 16) & 255;
                int minor1 = (ver >> 8) & 255;
                int minor2 = (ver) & 255;
                log(String.Format("SunVox lib version: {0}.{1}.{2}", major, minor1, minor2));

                SunVox.sv_open_slot(0);

                log("Loading SunVox song from memory...");
                loadBinaryAsset(getDataPath("test.sunvox"), onBinaryFileLoaded);
            }
            else
            {
                log("sv_init() error " + ver);
            }
        } catch (Exception e) {
            log("Exception: " + e);
        }
    }
Пример #3
0
    public static int OpenUnusedSlot()
    {
        if (!init)
        {
            Debug.Log("SunVox init");
            init = true;
            // TODO: what if there are a different number of channels??
            int version = SunVox.sv_init("0", AudioSettings.outputSampleRate, 2,
                                         SunVox.SV_INIT_FLAG_USER_AUDIO_CALLBACK | SunVox.SV_INIT_FLAG_AUDIO_FLOAT32);
            if (version < 0)
            {
                Debug.LogError("Error initializing SunVox");
                return(-1);
            }

            int major  = (version >> 16) & 255;
            int minor1 = (version >> 8) & 255;
            int minor2 = (version) & 255;
            Debug.Log(System.String.Format("SunVox lib version: {0}.{1}.{2}", major, minor1, minor2));
        }
        if (audioOutput == null)
        {
            audioOutput = new GameObject("SunVox out");
            audioOutput.AddComponent <SunVoxFilter>();
        }

        int slot = 0;

        while (true)
        {
            if (!openSlots.Contains(slot))
            {
                break;
            }
            slot++;
        }

        Debug.Log("SunVox: open slot " + slot);
        SunVox.sv_open_slot(slot);
        openSlots.Add(slot);
        return(slot);
    }
Пример #4
0
    void Start()
    {
        try {
            int ver = SunVox.sv_init("0", 44100, 2, 0);
            if (ver >= 0)
            {
                int major  = (ver >> 16) & 255;
                int minor1 = (ver >> 8) & 255;
                int minor2 = (ver) & 255;
                log(String.Format("SunVox lib version: {0}.{1}.{2}", major, minor1, minor2));

                SunVox.sv_open_slot(0);

                StartCoroutine(ModuleCoroutine());
            }
            else
            {
                log("sv_init() error " + ver);
            }
        } catch (Exception e) {
            log("Exception: " + e);
        }
    }
Пример #5
0
    private void Start()
    {
        log("-Press Space for toggle music-\n");

        try {
            int ver = SunVox.sv_init("0", 44100, 2, 0);
            if (ver >= 0)
            {
                int major  = (ver >> 16) & 255;
                int minor1 = (ver >> 8) & 255;
                int minor2 = (ver) & 255;
                log(String.Format("SunVox lib version: {0}.{1}.{2}", major, minor1, minor2));

                SunVox.sv_open_slot(0);

                log("Loading SunVox song from file...");
                var path = "Assets/StreamingAssets/test.sunvox"; // This path is correct only for standalone
                if (SunVox.sv_load(0, path) == 0)
                {
                    log("Loaded.");
                }
                else
                {
                    log("Load error.");
                    SunVox.sv_volume(0, 256);
                }

                SunVox.sv_play_from_beginning(0);
            }
            else
            {
                log("sv_init() error " + ver);
            }
        } catch (Exception e) {
            log("Exception: " + e);
        }
    }