getMappedLyric() public method

public getMappedLyric ( string lyric, int note_number ) : string
lyric string
note_number int
return string
Example #1
0
 public void test()
 {
     var prefixmap = new PrefixMap("./fixture/utau_voice_db/prefix.map");
     var actual = prefixmap.getMappedLyric("は", 61);
     Assert.AreEqual(@"A\は↑", actual);
     Assert.AreEqual("あ", prefixmap.getMappedLyric("あ", 60));
 }
        /// <summary>
        /// 指定した歌詞に合致する、エイリアスを考慮した原音設定を取得します
        /// </summary>
        /// <param name="lyric"></param>
        /// <returns></returns>
        public OtoArgs attachFileNameFromLyric(string lyric, int note_number)
        {
            Func <string, OtoArgs> get_oto_arg = (l) => {
                var result = root_.attachFileNameFromLyric(l);
                if (!result.isEmpty())
                {
                    return(result);
                }
                foreach (var oto in sub_)
                {
                    var args = oto.attachFileNameFromLyric(l);
                    if (!args.isEmpty())
                    {
                        return(args);
                    }
                }
                return(new OtoArgs());
            };

            // first, try finding mapped lyric.
            if (prefixmap_ != null)
            {
                var mapped_lyric = prefixmap_.getMappedLyric(lyric, note_number);
                var args         = get_oto_arg(mapped_lyric);
                if (!args.isEmpty())
                {
                    return(args);
                }
            }

            return(get_oto_arg(lyric));
        }