예제 #1
0
        private void SetupEnv(StringDictionary env)
        {
            var genre        = Item.Genre.FirstOrDefault();
            var displayGenre = (genre != null) ? SubGenre.GetDisplayGenre(genre) : null;

            env.Add("ITEM_ID", Item.Id.ToString());
            env.Add("IN_PATH", MovedSrcPath ?? Item.SrcPath);
            env.Add("OUT_PATH", Item.DstPath);
            env.Add("SERVICE_ID", Item.ServiceId.ToString());
            env.Add("SERVICE_NAME", Item.ServiceName);
            env.Add("TS_TIME", Item.TsTime.ToString());
            env.Add("ITEM_MODE", Item.Mode.ToString());
            env.Add("ITEM_PRIORITY", Item.Priority.ToString());
            env.Add("EVENT_GENRE", displayGenre?.FullName ?? "-");
            env.Add("IMAGE_WIDTH", Item.ImageWidth.ToString());
            env.Add("IMAGE_HEIGHT", Item.ImageHeight.ToString());
            env.Add("EVENT_NAME", Item.EventName);
            env.Add("TAG", string.Join(";", Item.Tags));

            if (Phase != ScriptPhase.OnAdd)
            {
                env.Add("PROFILE_NAME", Item.Profile.Name);
            }
            if (Log != null)
            {
                env.Add("SUCCESS", Log.Success ? "1" : "0");
                env.Add("ERROR_MESSAGE", Log.Reason ?? "");
                env.Add("IN_DURATION", Log.SrcVideoDuration.TotalSeconds.ToString());
                env.Add("OUT_DURATION", Log.OutVideoDuration.TotalSeconds.ToString());
                env.Add("IN_SIZE", Log.SrcFileSize.ToString());
                env.Add("OUT_SIZE", Log.OutFileSize.ToString());
                env.Add("LOGO_FILE", (Log.LogoFiles != null) ? string.Join(";", Log.LogoFiles) : "");
                env.Add("NUM_INCIDENT", Log.Incident.ToString());
                env.Add("JSON_PATH", Path.GetFullPath(Server.GetLogFileBase(Log.EncodeStartDate) + ".json"));
                env.Add("LOG_PATH", Path.GetFullPath(Server.GetLogFileBase(Log.EncodeStartDate) + ".log"));
            }

            // パイプ通信用
            env.Add("IN_PIPE_HANDLE", pipes.InHandle);
            env.Add("OUT_PIPE_HANDLE", pipes.OutHandle);
        }
예제 #2
0
        static SubGenre()
        {
            var data =
                new[]
            {
                new
                {
                    Space = GenreSpace.ARIB,
                    Name  = "",
                    Table = new []
                    {
                        new
                        {
                            Name  = "ニュース/報道",
                            Table = new string[16]
                            {
                                "定時・総合",
                                "天気",
                                "特集・ドキュメント",
                                "政治・国会",
                                "経済・市況",
                                "海外・国際",
                                "解説",
                                "討論・会談",
                                "報道特番",
                                "ローカル・地域",
                                "交通",
                                null,
                                null,
                                null,
                                null,
                                "その他"
                            }
                        },
                        new
                        {
                            Name  = "スポーツ",
                            Table = new string[16]
                            {
                                "スポーツニュース",
                                "野球",
                                "サッカー",
                                "ゴルフ",
                                "その他の球技",
                                "相撲・格闘技",
                                "オリンピック・国際大会",
                                "マラソン・陸上・水泳",
                                "モータースポーツ",
                                "マリン・ウィンタースポーツ",
                                "競馬・公営競技",
                                null,
                                null,
                                null,
                                null,
                                "その他"
                            }
                        },
                        new
                        {
                            Name  = "情報/ワイドショー",
                            Table = new string[16]
                            {
                                "芸能・ワイドショー",
                                "ファッション",
                                "暮らし・住まい",
                                "健康・医療",
                                "ショッピング・通販",
                                "グルメ・料理",
                                "イベント",
                                "番組紹介・お知らせ",
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                "その他"
                            }
                        },
                        new
                        {
                            Name  = "ドラマ",
                            Table = new string[16]
                            {
                                "国内ドラマ",
                                "海外ドラマ",
                                "時代劇",
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                "その他"
                            }
                        },
                        new
                        {
                            Name  = "音楽",
                            Table = new string[16]
                            {
                                "国内ロック・ポップス",
                                "海外ロック・ポップス",
                                "クラシック・オペラ",
                                "ジャズ・フュージョン",
                                "歌謡曲・演歌",
                                "ライブ・コンサート",
                                "ランキング・リクエスト",
                                "カラオケ・のど自慢",
                                "民謡・邦楽",
                                "童謡・キッズ",
                                "民族音楽・ワールドミュージック",
                                null,
                                null,
                                null,
                                null,
                                "その他"
                            }
                        },
                        new
                        {
                            Name  = "バラエティ",
                            Table = new string[16]
                            {
                                "クイズ",
                                "ゲーム",
                                "トークバラエティ",
                                "お笑い・コメディ",
                                "音楽バラエティ",
                                "旅バラエティ",
                                "料理バラエティ",
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                "その他"
                            }
                        },
                        new
                        {
                            Name  = "映画",
                            Table = new string[16]
                            {
                                "洋画",
                                "邦画",
                                "アニメ",
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                "その他"
                            }
                        },
                        new
                        {
                            Name  = "アニメ/特撮",
                            Table = new string[16]
                            {
                                "国内アニメ",
                                "海外アニメ",
                                "特撮",
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                "その他"
                            }
                        },
                        new
                        {
                            Name  = "ドキュメンタリー/教養",
                            Table = new string[16]
                            {
                                "社会・時事",
                                "歴史・紀行",
                                "自然・動物・環境",
                                "宇宙・科学・医学",
                                "カルチャー・伝統文化",
                                "文学・文芸",
                                "スポーツ",
                                "ドキュメンタリー全般",
                                "インタビュー・討論",
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                "その他"
                            }
                        },
                        new
                        {
                            Name  = "劇場/公演",
                            Table = new string[16]
                            {
                                "現代劇・新劇",
                                "ミュージカル",
                                "ダンス・バレエ",
                                "落語・演芸",
                                "歌舞伎・古典",
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                "その他"
                            }
                        },
                        new
                        {
                            Name  = "趣味/教育",
                            Table = new string[16]
                            {
                                "旅・釣り・アウトドア",
                                "園芸・ペット・手芸",
                                "音楽・美術・工芸",
                                "囲碁・将棋",
                                "麻雀・パチンコ",
                                "車・オートバイ",
                                "コンピュータ・TVゲーム",
                                "会話・語学",
                                "幼児・小学生",
                                "中学生・高校生",
                                "大学生・受験",
                                "生涯教育・資格",
                                "教育問題",
                                null,
                                null,
                                "その他"
                            }
                        },
                        new
                        {
                            Name  = "福祉",
                            Table = new string[16]
                            {
                                "高齢者",
                                "障害者",
                                "社会福祉",
                                "ボランティア",
                                "手話",
                                "文字(字幕)",
                                "音声解説",
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                "その他"
                            }
                        },
                    }
                },
                new
                {
                    Space = GenreSpace.CS,
                    Name  = "CS",
                    Table = new []
                    {
                        new
                        {
                            Name  = "スポーツ(CS)",
                            Table = new string[16]
                            {
                                "テニス",
                                "バスケットボール",
                                "ラグビー",
                                "アメリカンフットボール",
                                "ボクシング",
                                "プロレス",
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                "その他"
                            }
                        },
                        new
                        {
                            Name  = "洋画(CS)",
                            Table = new string[16]
                            {
                                "アクション",
                                "SF/ファンタジー",
                                "コメディー",
                                "サスペンス/ミステリー",
                                "恋愛/ロマンス",
                                "ホラー/スリラー",
                                "ウエスタン",
                                "ドラマ/社会派ドラマ",
                                "アニメーション",
                                "ドキュメンタリー",
                                "アドベンチャー/冒険",
                                "ミュージカル/音楽映画",
                                "ホームドラマ",
                                null,
                                null,
                                "その他"
                            }
                        },
                        new
                        {
                            Name  = "邦画(CS)",
                            Table = new string[16]
                            {
                                "アクション",
                                "SF/ファンタジー",
                                "お笑い/コメディー",
                                "サスペンス/ミステリー",
                                "恋愛/ロマンス",
                                "ホラー/スリラー",
                                "青春/学園/アイドル",
                                "任侠/時代劇",
                                "アニメーション",
                                "ドキュメンタリー",
                                "アドベンチャー/冒険",
                                "ミュージカル/音楽映画",
                                "ホームドラマ",
                                null,
                                null,
                                "その他"
                            }
                        },
                        new
                        {
                            Name  = "アダルト(CS)",
                            Table = new string[16]
                            {
                                "アダルト",
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                null,
                                "その他"
                            }
                        },
                    }
                }
            };

            GENRE_TABLE = new SortedList <int, SpaceGenre>();
            foreach (var a in data)
            {
                var spaceData = new SpaceGenre()
                {
                    Space      = a.Space,
                    Name       = a.Name,
                    MainGenres = new SortedList <int, MainGenre>()
                };
                for (int l1 = 0; l1 < a.Table.Length; ++l1)
                {
                    var b      = a.Table[l1];
                    var l1Data = new MainGenre()
                    {
                        Item = new GenreItem()
                        {
                            Space  = (int)a.Space,
                            Level1 = l1,
                            Level2 = -1
                        },
                        Name      = b.Name,
                        SubGenres = new SortedList <int, SubGenre>()
                    };
                    for (int l2 = 0; l2 < b.Table.Length; ++l2)
                    {
                        if (b.Table[l2] != null)
                        {
                            var c = new SubGenre()
                            {
                                Main = l1Data,
                                Name = b.Table[l2],
                                Item = new GenreItem()
                                {
                                    Space  = (int)a.Space,
                                    Level1 = l1,
                                    Level2 = l2
                                }
                            };
                            l1Data.SubGenres.Add(l2, c);
                        }
                    }
                    spaceData.MainGenres.Add(l1, l1Data);
                }
                GENRE_TABLE.Add((int)a.Space, spaceData);
            }

            // その他 - その他 を追加
            var other = new MainGenre()
            {
                Item = new GenreItem()
                {
                    Space  = (int)GenreSpace.ARIB,
                    Level1 = 0xF,
                    Level2 = -1
                },
                Name      = "その他",
                SubGenres = new SortedList <int, SubGenre>()
            };

            other.SubGenres.Add(0xF,
                                new SubGenre()
            {
                Main = other,
                Name = "その他",
                Item = new GenreItem()
                {
                    Space  = (int)GenreSpace.ARIB,
                    Level1 = 0xF,
                    Level2 = 0xF
                }
            });
            GENRE_TABLE[(int)GenreSpace.ARIB].MainGenres.Add(0xF, other);
        }