Ejemplo n.º 1
0
 public Sprite(string filename, int settings)
 {
     this.filename = filename;
     this.settings = settings;
     this.sdata    = spritedata[filename];
     starttime     = -1;
 }
        protected override void Open(WaveFormat format)
        {
            Buffers = new Queue <byte[]>();
            bufPos  = 0;
            SDATA        s   = new SDATA();
            WAVEFORMATEX wfx = new WAVEFORMATEX();

            wfx.cbSize          = 0;
            wfx.nAvgBytesPerSec = (int)format.AverageBytesPerSecond;
            wfx.nBlockAlign     = (short)format.BlockAlign;
            wfx.nChannels       = (short)format.Channels;
            wfx.nSamplesPerSec  = (int)format.SamplesPerSecond;
            wfx.wBitsPerSample  = (short)format.BitsPerSample;
            wfx.wFormatTag      = (short)format.FormatTag;
            s.AsWaveFormatEx    = wfx;
            Sapi4Engine.miniLog("audio.WaveFormatSet");
            audio.WaveFormatSet(s);
            Sapi4Engine.miniLog("audio.LevelGet");
            int level;

            audio.LevelGet(out level);
            Sapi4Engine.miniLog(String.Format("level={0}", level));
//            wfx = s.AsWaveFormatEx;
            Sapi4Engine.miniLog(String.Format("{0} Hz, {1} bit, {2} channels", wfx.nSamplesPerSec, wfx.wBitsPerSample, wfx.nChannels));
            Sapi4Engine.miniLog("audio.Claim");
            audio.Claim();
            Sapi4Engine.miniLog("audio.Start");
            audio.Start();
            Sapi4Engine.miniLog(" opened successfully");
        }
 void ITTSCentral.Phoneme(VOICECHARSET eCharacterSet, uint dwFlags, SDATA dText, out SDATA pdPhoneme)
 {
     try
     {
         miniLog("Phoneme");
         pdPhoneme        = new SDATA();
         pdPhoneme.dwSize = 0;
     }
     catch (Exception e)
     {
         pdPhoneme = new SDATA();
         Sapi4Engine.miniLog(e + ": " + e.Message);
     }
 }
Ejemplo n.º 4
0
            public Sprite(Sprite from)
            {
                this.filename  = from.filename;
                this.settings  = from.settings;
                this.sdata     = from.sdata;
                this.starttime = from.starttime;
                this.starttime = from.endtime;
                this.fakesprite_skipusagedata = true;
                foreach (ICommand cmd in from.allcmds)
                {
                    this.allcmds.AddLast(cmd.copy());
                }

                /*
                 * foreach (RotCommand cmd in from.rotcmds) { this.rotcmds.AddLast(cmd); }
                 * foreach (MoveCommand cmd in from.movecmds) { this.movecmds.AddLast(cmd); }
                 * foreach (FadeCommand cmd in from.fadecmds) { this.fadecmds.AddLast(cmd); }
                 * foreach (ColorCommand cmd in from.colorcmds) { this.colorcmds.AddLast(cmd); }
                 * foreach (ScaleCommand cmd in from.scalecmds) { this.scalecmds.AddLast(cmd); }
                 * foreach (VScaleCommand cmd in from.vscalecmds) { this.vscalecmds.AddLast(cmd); }
                 * */
                // skipped overrides and raws
            }
        void ITTSCentral.TextData(VOICECHARSET eCharacterSet, uint dwFlags, SDATA dText, object pNotifyInterface, Guid IIDNotifyInterface)
        {
            try
            {
                miniLog("TextData " + dText.AsString);
                StringCharProducer scp         = new StringCharProducer(dText.AsString);
                Tokenizer          tokenizer   = new Tokenizer();
                Parser             parser      = new Parser();
                Segmenter          segmenter   = new Segmenter();
                Phonetizer         phonetizer  = new Phonetizer();
                FujisakiProcessor  fujisaki    = new FujisakiProcessor();
                MBROLATranslator   translator  = new MBROLATranslator();
                MBROLASynthesizer  synthesizer = new MBROLASynthesizer();
                synthesizer.Voice = translator.Voice = modeInfo.Voice;
                tokenizer.Run(scp);
                parser.Run(tokenizer);
                segmenter.Run(parser);
                phonetizer.Run(segmenter);
                fujisaki.Run(phonetizer);
                translator.Run(fujisaki);
                synthesizer.Run(translator);

                /*                DelegateConsumer<MBROLAElement> delegc = new DelegateConsumer<MBROLAElement>();
                 *              delegc.ItemConsumed += delegate(MBROLAElement item)
                 *              {
                 *                  miniLog("dummy sees: " + item.ToString());
                 *              };
                 *              delegc.Run(translator);
                 *              delegc.Join();*/
                Sapi4AudioTarget target = new Sapi4AudioTarget(audioObject);
                target.Run(synthesizer);
            }
            catch (Exception e)
            {
                Sapi4Engine.miniLog(e + ": " + e.Message);
            }
        }