[g-a-devel] Re: bonobo-activating gnome-speech causes exception



Ok. I have been able to solve most of this problem.



This used to happen when I launched and quit my application more than
1 times and would disappear when I restart the machine [much like we
do in Windows -- you get stuck, then restart the machine ;)]. Turns
out I had programmed my app this way that end functions [which kill
all the processes] were not getting called.



Now all the processes except sox is terminated properly and just when
the queued text for sox gets complete, it also quits on its own.



But what should happen is that sox should also be terminated when
everything else [bonobo-activation, festival-synthesis-driver and
festival] does. Any ideas on how to go about this?



Also, Speaker_stop doesnt really stop the voice and does not throw any
exception.

Code Sample:

Bool GNOMESPEECH_Stop()
{
	CORBA_Environment ev;
	CORBA_exception_init (&ev);
	if (speaker)
		GNOME_Speech_Speaker_stop (speaker, &ev);
	if (BONOBO_EX (&ev))
	{
		printf ("Exception %s stopping speaker\n", bonobo_exception_get_text (&ev));
		return false;
	}
	CORBA_exception_free (&ev);
	return true;
}

Bool GNOMESPEECH_End()
{
	GNOMESPEECH_Stop();
	if (speaker) {
		bonobo_object_release_unref (speaker, NULL);
		speaker = NULL;
	}
	bonobo_debug_shutdown();
	return true;
}

On Wed, 16 Mar 2005 19:18:49 +0530, Aditya Pandey
<aditya kumar pandey gmail com> wrote:
> I have been trying to implement a prototype for my app's interface to
> gnome-speech for some time.
> 
> The code behaves quite erraticly -- some time festival driver [default
> so I am using it] is instantiated correctly [so everything works just
> fine] and some times only bonobo-activate and festival-synthe
> processes get instantiated and final festival process does not.
> 
> I set the BONOBO_ACTIVATION_DEBUG_OUTPUT =1 so that correct message
> behind this failure could be seen. Seeking help/guidance on this
> problem.
> 
> Here is the relevant code:
> 		int num_arg = 0;
> 		CORBA_Environment ev;
>   
> 		CORBA_exception_init (&ev);
> 		if (!bonobo_init (&num_arg, NULL))
> 		{
> 			printf ("Can't initialize Bonobo...\n");
> 			return false;
> 		}
>                 servers = bonobo_activation_query (
> 		"repo_ids.has ('IDL:GNOME/Speech/SynthesisDriver:0.2')",
> 		NULL, ev);
>                 if (BONOBO_EX (ev)) {
> 		        return CORBA_OBJECT_NIL;
> 	        }
>                 if (!servers)
> 		        return CORBA_OBJECT_NIL;
> 	        i =0;
> 	        info = &servers->_buffer[i];
> 	        rv = bonobo_activation_activate_from_id (
> 		       (const Bonobo_ActivationID) info->iid,
>          	       0, NULL, ev);
> 	        CORBA_free (servers);
> 
> Here is what I get as error message:
> 
> ** (process:4560): WARNING **: Update registry (nil)
> ** (process:4560): WARNING **: Compare old_mtime on
> '/usr/lib/bonobo/servers' with 0 ==? 1110381203
> ** (process:4560): WARNING **: Re-load 1 0
> iid OAFIID:BrokenNoType:20000808 has a NULL type
> invalid character '#' in iid
> 'OAFIID:This#!!%$iid%^$%_|~!OAFIID_ContainsBadChars'
> ** (process:4560): WARNING **: Server register.
> 'OAFIID:Bonobo_CosNaming_NamingContext' : 0x8079320
> ** (process:4560): WARNING **: Update registry 0x8088658
> ** (process:4560): WARNING **: Update registry 0x8088658
> ** (process:4560): WARNING **: Update registry 0x8088658
>  Activate 'OAFIID:GNOME_Speech_SynthesisDriver_Festival:proto0.2'
>  Activated 'OAFIID:GNOME_Speech_SynthesisDriver_Festival:proto0.2' = (nil)
> ** (process:4560): WARNING **: Activation of
> 'OAFIID:GNOME_Speech_SynthesisDriver_Festival:proto0.2' failed with
> exception 'IDL:Bonobo/GeneralError:1.0'
> Bonobo is initializedNo server selected.
> ** (process:4560): WARNING **: Server register.
> 'OAFIID:GNOME_Speech_SynthesisDriver_Festival:proto0.2' : 0x8083808
> 
> 
> -- 
> Aditya Kumar Pandey
> ----------------------------------------
> Contact:  +91-9868263500; +91-11-25165432
> 

-- 
Aditya Kumar Pandey
----------------------------------------
Contact:  +91-9868263500; +91-11-25165432



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]