public void DeleteTag(string tag) { for (int i = tag_list_.Count - 1; i >= 0; --i) { if (IJStringUtil.CompareString(tag_list_[i].GetRawTag(), tag)) { tag_list_.RemoveAt(i); } } }
public bool IsIncludeAndLocked(string tag) { for (int i = 0; i < tag_list_.Count; ++i) { if (IJStringUtil.CompareString(tag, tag_list_[i].GetRawTag()) && tag_list_[i].IsLock()) { return(true); } } return(false); }
private static bool IsExclusion(string str, string[] exclusion_tag) { for (int i = 0; i < exclusion_tag.Length; ++i) { if (IJStringUtil.CompareString(str, exclusion_tag[i])) { return(true); } } return(false); }
public IFilterManager GetFilter() { IFilterManager filter; if (is_using_filter && filter_filename != "" && File.Exists(filter_filename)) { try { string first_line = IJFile.ReadFirstLineUTF8(filter_filename); // フィルター書式のバージョンを調べる(ファイルの最初の行が「version=2」であるかどうか) bool is_version2 = IJStringUtil.CompareString(first_line, RootFilter.version_indicator); string str; if (is_version2) { // 新フィルターはUTF-8で読み込む string str_with_version = IJFile.ReadUTF8(filter_filename); // 先頭の「version=2」を削除する int start_index = str_with_version.IndexOfAny(new char[] { '\r', '\n' }, 0); if (start_index + 1 <= str_with_version.Length - 1) { str = str_with_version.Substring(start_index + 1); } else { str = string.Empty; } filter = GetFilter2(str); } else { str = IJFile.Read(filter_filename); filter = GetFilter1(str); } } catch (Exception) { throw new FormatException("フィルターの書式が間違えています。"); } return(filter); } return(new Filter(is_output_filtered_video)); }
public void Add(TagSet tag_set) { for (int i = 0; i < tag_set.tag_list_.Count; ++i) { int j; for (j = 0; j < tag_list_.Count; ++j) { if (IJStringUtil.CompareString(tag_list_[j].GetRawTag(), tag_set.tag_list_[i].GetRawTag())) { break; } } if (j >= tag_list_.Count) { tag_list_.Add(tag_set.tag_list_[i]); } } }
// タグリストから P名を推定する public static string GetPname(TagSet tag_set, out int index) { if (pname_list_ == null) // 初回にリストをロードする { if (File.Exists("pnamelist.txt")) { pname_list_ = IJStringUtil.SplitWithCRLF(IJFile.Read("pnamelist.txt")); } else { pname_list_ = new string[0]; } } for (int i = 0; i < tag_set.tag_list_.Count; ++i) { for (int j = 0; j < pname_list_.Length; ++j) { if (IJStringUtil.CompareString(tag_set.tag_list_[i].GetRawTag(), pname_list_[j])) { index = i; return(pname_list_[j]); } } } // リストから見つからない場合は後ろにPのついたタグを探す for (int i = 0; i < tag_set.tag_list_.Count; ++i) { if (tag_set.tag_list_[i].GetRawTag().EndsWith("P", StringComparison.InvariantCultureIgnoreCase) || tag_set.tag_list_[i].GetRawTag().EndsWith("P", StringComparison.InvariantCultureIgnoreCase)) { index = i; return(tag_set.tag_list_[i].GetRawTag()); } } index = -1; return(""); // それでも見つからないときは空文字を返す }