bool Register() { if (Mbrola.Binding == MbrolaBinding.Library) { if (!MbrPlay.DatabaseExist(this.Database) || !File.Exists(MbrPlay.RegGetDatabasePath(Database))) { string localPath = Path.Combine(FileBindings.VoicePath, this.Database); if (File.Exists(localPath)) { System.Text.StringBuilder sb = new System.Text.StringBuilder(260); return(MbrPlay.RegisterDatabase(this.Database, localPath, this.Database, false, sb, 260)); } else { return(false); } } return(true); } else { return(File.Exists(DatabaseFile)); } }
public bool Activate() { if (Register()) { Mbrola.Init(MbrPlay.RegGetDatabasePath(Name)); MbrPlay.SetDatabase(Name); MbrPlay.Play("_ 1\n_ 1\n", (int)MbrFlags.Wait | (int)MbrOut.Disabled, null, null); return(true); } else { return(false); } }
protected override void BeforeConsumption() { base.BeforeConsumption(); pho = new StringBuilder(); Console.WriteLine("synthesizer started"); IsDoneConsuming = false; // Mbrola.Init("C:\\Documents and Settings\\Moti Z\\My Documents\\SharpDevelop Projects\\Qaryan.Core refactor\\Voices\\" + Voice.Name); MbrPlay.SetDatabase(voice.Name); myMbrThread = new MbrThread(); myMbrThread.Error += delegate(object sender, string error) { Error(this, error); }; myMbrThread.Start(this); }
bool Register() { if (!MbrPlay.DatabaseExist(this.name)) { string localPath = Path.Combine(FileBindings.VoicePath, this.name); if (File.Exists(localPath)) { System.Text.StringBuilder sb = new System.Text.StringBuilder(260); return(MbrPlay.RegisterDatabase(this.name, localPath, this.name, false, sb, 260)); } else { return(false); } } return(true); }
public void Start(MBROLASynthesizer Synth) { callback = new PlayCallbackProc(mbrCallback); this.Synth = Synth; t = new Thread(delegate() { while (Thread.CurrentThread.IsAlive) { if (Fragments.Count == 0) { Thread.Sleep(0); continue; } string fragment = Fragments.Dequeue(); if (fragment == "EOF") { while (!Finished) { Thread.Sleep(0); } Eof = true; Synth.Log("InvokeAudioFinished"); Synth.InvokeAudioFinished(); t.Abort(); return; } else { Synth.Log("Sent {0} characters to synth", fragment.Length); MbrPlay.Play(fragment, (int)MbrFlags.Queued | (int)MbrFlags.Wait | (int)MbrFlags.MsgInit | (int)MbrFlags.MsgWrite | (int)MbrFlags.MsgEnd | (int)MbrFlags.Callback | (int)MbrOut.Disabled, null, callback); StringBuilder error = new StringBuilder(256); MbrPlay.LastError(error, 255); if (error.Length > 0) { this.Error(this, error.ToString()); } } } }); t.Name = "MbrThread"; t.SetApartmentState(ApartmentState.STA); t.Start(); }
protected override void BeforeConsumption() { Log(LogLevel.MajorInfo, "Started"); base.BeforeConsumption(); pho = new StringBuilder(); IsDoneConsuming = false; // Mbrola.Init("C:\\Documents and Settings\\Moti Z\\My Documents\\SharpDevelop Projects\\Qaryan.Core refactor\\Voices\\" + Voice.Name); MbrPlay.SetDatabase((Voice.BackendVoice as MbrolaVoiceNew).Database); MbrPlay.SetVolumeRatio((Voice.BackendVoice as MbrolaVoiceNew).VolumeRatio); myMbrThread = new MbrThread(); myMbrThread.Error += delegate(object sender, string error) { if (Error != null) { Error(this, error); } }; myMbrThread.Start(this); }