0
0

Hi everyone!
I’m having problems with the realtime tweaking example, under FMOD designer API.

when the program tries to call the function
NetEventSystem_Init()
I get the following error:
ZeroLink: unknown symbol ‘__ZN4FMOD19NetEventSystem_InitEPNS_11EventSystemEt’

I’m pating my code below.
any nudge in the right direction would be greatly appreciated!

/*===============================================================================================
realtime_tweaking Example THEEBA’s EXAMPLE
Copyright (c), Firelight Technologies Pty, Ltd 2004-2007.

Demonstrates basic usage of FMOD’s network data-driven event library (fmod_event_net.dll)
===============================================================================================*/

include "../../../api/inc/fmod_event.hpp"

include "../../../api/inc/fmod_event_net.h"

include "../../../examples/common/wincompat.h"

const char *MEDIA_PATH = "..\media";
const int NUM_EVENTS = 3;

void ERRCHECK(FMOD_RESULT result)
{
if (result != FMOD_OK)
{
printf("FMOD error! (%d)\n", result);
exit(-1);
}
}

FMOD_RESULT F_CALLBACK eventcallback(FMOD_EVENT *event, FMOD_EVENT_CALLBACKTYPE type, void *param1, void *param2, void *userdata)
{
if (type == FMOD_EVENT_CALLBACKTYPE_NET_MODIFIED)
{
unsigned int t = (unsigned int)param2;
printf("%p %s %f (%d)\n", event, (unsigned int)param1 == FMOD_EVENTPROPERTY_VOLUME ? "volume" : FMOD_EVENTPROPERTY_PITCH ? "pitch" : "???", *((float *)&t), (unsigned int)userdata);
}

return FMOD_OK;

}

int main(int argc, char *argv[])
{
FMOD_RESULT result;
FMOD::EventSystem *eventsystem;
FMOD::EventGroup *eventgroup;
FMOD::Event *event[NUM_EVENTS];
int key, i, userdata = 0;

printf("======================================================================\n");
printf("Realtime Tweaking. Copyright (c) Firelight Technologies 2004-2007.\n");
printf("======================================================================\n");
printf("This example shows how to initialize the FMOD Net Event System so that\n");
printf("FMOD Designer can connect to your game and tweak events as they're\n");
printf("playing.\n");
printf("Start some events then connect to this app using the Audition menu\n");
printf("in FMOD Designer. You can use 127.0.0.1 for the IP address if you\n");
printf("don't want to use two machines. Load examples.fdp and change the \n");
printf("volume of the playing events using the volume slider in the event\n");
printf("property sheet\n");
printf("======================================================================\n\n");

result = FMOD::EventSystem_Create(&eventsystem);
ERRCHECK(result);
printf(" Event system create ok!");

/This is where I get the error/
result = FMOD::NetEventSystem_Init(eventsystem);
ERRCHECK(result);
printf(" Net Event system create ok!");

result = eventsystem->init(64, FMOD_INIT_NORMAL, 0, FMOD_EVENT_INIT_NORMAL);
ERRCHECK(result);
printf("init ok!");

result = eventsystem->setMediaPath((char *)MEDIA_PATH);
ERRCHECK(result);
printf(" media ok!");

result = eventsystem->load("examples.fev", 0, 0);
ERRCHECK(result);
printf(" examples ok!");

result = eventsystem->getGroup("examples/examples/filters", FMOD_EVENT_DEFAULT, &eventgroup);
ERRCHECK(result);
printf("filter ok!");

for (i=0; i < NUM_EVENTS; i++)
{
    event[i] = 0;
}

printf("======================================================================\n");
printf("Press 1 - 3  to start/stop events\n");
printf("Press ESC    to quit\n");
printf("======================================================================\n");

key = 0;
do
{
    if (_kbhit())
    {
        key = _getch();

        if ((key >= '1') && (key <= '3'))
        {
            char *name;

            i = (int)(key - '1');

            if (event[i])
            {
                result = event[i]->getInfo(0, &name, 0);
                ERRCHECK(result);
                result = event[i]->stop();
                ERRCHECK(result);
                event[i] = 0;
                printf("Stopping '%s'\n", name);
            }
            else
            {
                result = eventgroup->getEventByIndex(i, FMOD_EVENT_DEFAULT, &event[i]);
                if (result == FMOD_OK)
                {
                    result = event[i]->getInfo(0, &name, 0);
                    ERRCHECK(result);
                    result = event[i]->setCallback(eventcallback, (void *)(userdata++));
                    ERRCHECK(result);
                    result = event[i]->start();
                    ERRCHECK(result);
                    printf("Starting '%s'\n", name);
                }
            }
        }
    }

    result = eventsystem->update();
    ERRCHECK(result);
    result = FMOD::NetEventSystem_Update();
    ERRCHECK(result);

    Sleep(10);

} while (key != 27);

result = eventsystem->release();
ERRCHECK(result);
result = FMOD::NetEventSystem_Shutdown();
ERRCHECK(result);

return 0;

}

  • You must to post comments
0
0

You need to link in fmod_event_net.lib.

  • You must to post comments
0
0

thanks – I realized that seconds after I posted! Now my problem is:
where can I get the fmod_event_net.dylib? It didn’t come with the version of FMOD Ex that I downloaded. I have libfmodex.dylib, libfmodevent.dylib, and libfmodexp.dylib, but nothing else

am I missing something??

  • You must to post comments
0
0

Your not missing something, we are.

It would seem the fmod_event_net.dylib file was not going into our Mac releases, I have just fixed this up now so it will be available in the next version.

  • You must to post comments
0
0

Could you please include this library in the Linux version as well?

  • You must to post comments
0
0

Sure thing, we are pretty busy at the moment leading up to GDC but I will record your request and get it into our releases in the coming months.

  • You must to post comments
Showing 5 results
Your Answer

Please first to submit.