SSブログ

Genre Filterの考察っぽいもの [PC関連]

注:業務連絡… ですね。

先のエントリーで,『中の人』様に頂いたネタをちょっと考えてみました。
考えたって言うより,"なんかやってみた”って感じ
そんな訳で,続きはこちら… 以下は,面白く無いですよ。


注:文末 "おまけ" が,生SQL文なので長いです…

目的

お手軽にジャンルフィルタを載せてみよう!

目標

まぁ,今より簡単になるなら,越したことはない… 程度(笑

実験

案1: あらかじめ,番組表取得時に,ジャンル紐づけテーブル(genre)を生成する。

→もしかして,これって,当方,勘違いしてます?

ご提案頂いたネタ

select * from event where id in ( select event_id from genre where code in (10,11) group by event_id )

上記の genre テーブルを作らずに,クエリーだけで,どんな感じか,やってみた。
SQL文が素人丸出しなのは,ご愛嬌って事で(笑

ただし…

  • genre テーブルの code は,(大分類と中分類)x4な,構成です。
  • where句は,大分類のみ
  • ジャンルのcode取り出しは,AppDefine.GenreConverter.GetText()のまんま(パクリ)
select ev.* from event ev where ev.id in ( select t_genre.event_id from ( /* genre tableはこんな感じ? */ select id as event_id, (((genre) & 255) >> 4) as g0_lv1, (genre) & 255 as g0_lv2, (((genre >> 8) & 255) >> 4) as g1_lv1, (genre >> 8) & 255 as g1_v2, (((genre >> 16) & 255) >> 4) as g2_lv1, (genre >> 16) & 255 as g2_v2, (((genre >> 24) & 255) >> 4) as g3_lv1, (genre >> 24) & 255 as g3_v2 from event ) as t_genre where t_genre.g0_lv1 in (10,11) or t_genre.g1_lv1 in (10,11) or t_genre.g2_lv1 in (10,11) or t_genre.g3_lv1 in (10,11) group by t_genre.event_id )

おお,なるほど,ちゃんとフィルタするぞぉ!
事前にテーブル用意すれば,検索早そうだし。


案2: SQL文だけで,どうにかする

案1で,ごたごたしてたら,これもいいかなぁ~と。
実際にWebUIに記述して試していないので,使えるかは不明。

-- 追加テーブルなしで,Genreフィルタ("趣味/教育"+"福祉") select * from event where (((genre) & 255) >> 4) in (10,11) or (((genre >> 8) & 255) >> 4) in (10,11) or (((genre >> 16) & 255) >> 4) in (10,11) or (((genre >> 24) & 255) >> 4) in (10,11)

中間テーブルを使わずに,直でジャンルのコードを検索します。


結果

え?実験って,これだけ(笑

タブレットなど,比較的,文字入力が面倒な奴の場合,大分類だけでも選択式にすれば,使い勝手がよくなるかな… ジャンルのリストもDBに載せちゃえばWebUIから使いやすそうだし…

現状,mod版の genre_text に対して,正規表現でジャンルを絞り込む方法でも,さほど,問題ない気がしました。 特に,当方,ジャンル絞込を使う際は,大・中分類まぜこぜで指定するので,大分類だけだと,ちょっと微妙な感じです。

あと,問題があるとすれば,正しい語句を入力する必要がある って事。
と,やり方が,あまり美しく無い orz


おまけ

実は,初め,盛大に勘違いしてまして…
genreX.defをDBに取り込んで,それを使うのだと思ってしまいました。 …で,作っちゃったのですが,消すのはもったいと思いSQL文に書き出しました。
ご活用頂ければ幸いです。(SQLite用です)

/* genre: ARIB STD-B10 デジタル放送に使用する番組配列情報標準規格 5.1版 第2部番組配列情報における基本情報のデータ構造と定義 「付録H:コンテント記述子におけるジャンル指定」 genre1.def/genre2.defをテーブルにしてみた… */ BEGIN TRANSACTION; DROP TABLE IF EXISTS `genre1`; CREATE TABLE IF NOT EXISTS `genre1` ( `code0` INTEGER UNIQUE, --大分類コード `genre_text` INTEGER, --大分類 PRIMARY KEY(`code0`) ); INSERT INTO `genre1` (code0,genre_text) VALUES (0,'ニュース/報道'); INSERT INTO `genre1` (code0,genre_text) VALUES (1,'スポーツ'); INSERT INTO `genre1` (code0,genre_text) VALUES (2,'情報/ワイドショー'); INSERT INTO `genre1` (code0,genre_text) VALUES (3,'ドラマ'); INSERT INTO `genre1` (code0,genre_text) VALUES (4,'音楽'); INSERT INTO `genre1` (code0,genre_text) VALUES (5,'バラエティ'); INSERT INTO `genre1` (code0,genre_text) VALUES (6,'映画'); INSERT INTO `genre1` (code0,genre_text) VALUES (7,'アニメ/特撮'); INSERT INTO `genre1` (code0,genre_text) VALUES (8,'ドキュメンタリー/教養'); INSERT INTO `genre1` (code0,genre_text) VALUES (9,'劇場/公演'); INSERT INTO `genre1` (code0,genre_text) VALUES (10,'趣味/教育'); INSERT INTO `genre1` (code0,genre_text) VALUES (11,'福祉'); INSERT INTO `genre1` (code0,genre_text) VALUES (12,''); INSERT INTO `genre1` (code0,genre_text) VALUES (13,''); INSERT INTO `genre1` (code0,genre_text) VALUES (14,'拡張'); INSERT INTO `genre1` (code0,genre_text) VALUES (15,'その他'); COMMIT; BEGIN TRANSACTION; DROP TABLE IF EXISTS `genre2`; CREATE TABLE IF NOT EXISTS `genre2` ( `code0` INTEGER, --大分類コード `code1` INTEGER, --中分類コード `genre_text` TEXT, --中分類 FOREIGN KEY(code0) REFERENCES genre1(code0) ); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (0,0,'定時・総合'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (0,1,'天気'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (0,2,'特集・ドキュメント'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (0,3,'政治・国会'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (0,4,'経済・市況'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (0,5,'海外・国際'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (0,6,'解説'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (0,7,'討論・会談'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (0,8,'報道特番'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (0,9,'ローカル・地域'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (0,10,'交通'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (0,15,'その他'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (1,0,'スポーツニュース'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (1,1,'野球'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (1,2,'サッカー'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (1,3,'ゴルフ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (1,4,'その他の球技'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (1,5,'相撲・格闘技'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (1,6,'オリンピック・国際大会'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (1,7,'マラソン・陸上・水泳'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (1,8,'モータースポーツ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (1,9,'マリン・ウィンタースポーツ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (1,10,'競馬・公営競技'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (1,15,'その他'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (2,0,'芸能・ワイドショー'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (2,1,'ファッション'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (2,2,'暮らし・住まい'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (2,3,'健康・医療'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (2,4,'ショッピング・通販'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (2,5,'グルメ・料理'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (2,6,'イベント'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (2,7,'番組紹介・お知らせ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (2,15,'その他'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (3,0,'国内ドラマ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (3,1,'海外ドラマ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (3,2,'時代劇'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (3,15,'その他'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (4,0,'国内ロック・ポップス'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (4,1,'海外ロック・ポップス'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (4,2,'クラシック・オペラ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (4,3,'ジャズ・フュージョン'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (4,4,'歌謡曲・演歌'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (4,5,'ライブ・コンサート'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (4,6,'ランキング・リクエスト'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (4,7,'カラオケ・のと゛自慢'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (4,8,'民謡・邦楽'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (4,9,'童謡・キッズ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (4,10,'民族音楽・ワールドミュージック'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (4,15,'その他'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (5,0,'クイズ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (5,1,'ゲーム'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (5,2,'トークバラエティ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (5,3,'お笑い・コメディ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (5,4,'音楽バラエティ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (5,5,'旅バラエティ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (5,6,'料理バラエティ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (5,15,'その他'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (6,0,'洋画'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (6,1,'邦画'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (6,2,'アニメ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (6,15,'その他'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (7,0,'国内アニメ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (7,1,'海外アニメ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (7,2,'特撮'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (7,15,'その他'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (8,0,'社会・時事'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (8,1,'歴史・紀行'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (8,2,'自然・動物・環境'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (8,3,'宇宙・科学・医学'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (8,4,'カルチャー・伝統文化'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (8,5,'文学・文芸'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (8,6,'スポーツ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (8,7,'ドキュメンタリー全般'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (8,8,'インタビュー・討論'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (8,15,'その他'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (9,0,'現代劇・新劇'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (9,1,'ミュージカル'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (9,2,'ダンス・バレエ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (9,3,'落語・演芸'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (9,4,'歌舞伎・古典'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (9,15,'その他'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (10,0,'旅・釣り・アウトドア'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (10,1,'園芸・ペット・手芸'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (10,2,'音楽・美術・工芸'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (10,3,'囲碁・将棋'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (10,4,'麻雀・パチンコ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (10,5,'車・オートバイ'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (10,6,'コンピュータ・TVゲーム'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (10,7,'会話・語学'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (10,8,'幼児・小学生'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (10,9,'中学生・高校生'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (10,10,'大学生・受験'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (10,11,'生涯教育・資格'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (10,12,'教育問題'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (10,15,'その他'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (11,0,'高齢者'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (11,1,'障害者'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (11,2,'社会福祉'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (11,3,'ボランティア'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (11,4,'手話'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (11,5,'文字(字幕)'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (11,6,'音声解説'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (11,15,'その他'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (14,0,'BS/地上デジタル放送用番組付属情報'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (14,1,'広帯域 CS デジタル放送用拡張'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (14,3,'サーバー型番組付属情報'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (14,4,'IP 放送用番組付属情報'); INSERT INTO `genre2` (code0,code1,genre_text) VALUES (15,15,'その他'); COMMIT;

上のテーブルを使って,以下のクエリを実行すると…

select g1.genre_text as 大分類, g2.genre_text as 中分類 from genre1 as g1 inner join genre2 as g2 on g1.code0=g2.code0

108件,出力します。 まるで煩悩の数の様…


タグ:Tvmaid
nice!(0)  コメント(8) 
共通テーマ:趣味・カルチャー

nice! 0

コメント 8

tvmaid

勘違いしてるかも。
eventひとつに対して、genreの行が複数になります。
イメージとしてはこんな感じ。

-----------
[eventテーブル]
id,title,・・・
1,タイトル1,・・・
2,タイトル2,・・・

[genreテーブル]
event_id,code
1,0x11
1,0x12
1,0x13
2,0x11
2,0x31
-----------

ついでに、tvmaidのジャンルの他の問題としては、
・4つしか保持していない
・BS、CSで使われている拡張ジャンルを保持してない

genreテーブルで、これらも一緒に解決できると思います。
ただ、それほど必要かと言われると・・・

by tvmaid (2018-04-06 17:53) 

tvmaid

番組情報が存在するtvmaid-5.dbを「DB Browser for SQLite」等で開いて、下のSQLで試せます。

--temp(一時テーブル)なので、DB Browserを終了すれば消える
CREATE temp TABLE genre (event_id, code);

--実行前に、下のevent_id(1や2)は、eventテーブルに存在する数値に変更してください
insert into genre values(1,0x11);
insert into genre values(1,0x12);
insert into genre values(1,0x13);
insert into genre values(2,0x11);
insert into genre values(2,0x31);

--2件ヒットするはず
select * from event where id in (select event_id from genre where code in (0x11,0x12) group by event_id)

--1件ヒットするはず
select * from event where id in (select event_id from genre where code in (0x31) group by event_id)

by tvmaid (2018-04-06 18:24) 

keii

> 勘違いしてるかも。
あぁ,やっぱり…それも盛大に orz

教えて頂いた方法を試してみました。
で,こんな形でネタを仕込んで
CREATE temp TABLE genre (event_id, code);

insert into genre select id, (((genre) & 255) >> 4) as g0_lv1 from event
where (((genre) & 255) >> 4) <> 15;
insert into genre select id, (((genre >> 8) & 255) >> 4) as g1_lv1 from event
where (((genre >> 8) & 255) >> 4) <> 15;
insert into genre select id, (((genre >> 16) & 255) >> 4) as g2_lv1 from event
where (((genre >> 16) & 255) >> 4) <> 15;
insert into genre select id, (((genre >> 24) & 255) >> 4) as g3_lv1 from event
where (((genre >> 32) & 255) >> 4) <> 15;

insert into genre select id, (genre) & 255 as g0_lv2 from event
where (genre) & 255 <>255;
insert into genre select id, (genre >> 8) & 255 as g1_lv2 from event
where (genre >> 8) & 255 <>255;
insert into genre select id, (genre >> 16) & 255 as g2_lv2 from event
where (genre >> 16) & 255 <>255;
insert into genre select id, (genre >> 24) & 255 as g3_lv2 from event
where (genre >> 24) & 255 <>255;

色々条件変えて,検索!
ちゃんと,ヒットします(当然ですね(笑

今回,色々弄っていて気が付いたのですが…
・中間テーブルを使った方が,select文にwhere句をダラダラ(上記SQLのwhere句同等)を書くより動作が速い感じ。
・中間テーブルは,面倒なのでEPG取得後に一気に作りたいけど,EpgUpdate.csのGetEvents辺りで,コツコツ作るのが正解?
・大分類だけにすれば,中間テーブルのレコード数が減らせる。(中分類を入れても良いけど,UI側が煩雑になりそう)
・”拡張”が邪魔(笑

労力の割には,得られるものが少ない… ってことで,当方,本件は"見送り"ですね(笑
それに,以前,お話をいただいた通り,"ジャンルでフィルタ"って,意外と使わないのです。

> 4つしか保持していない
rplsinfo(GUI)でも,3つ(3組)なのでOK(笑

> BS、CSで使われている拡張ジャンルを保持してない
各事業体が用意している(?)であろう,拡張ジャンルの情報を見つけられませんでした。
"拡張"付いてても,普通のジャンルコード(?)が付いてるし…

おまけ:
EPGとかSearchに効きそうなので,こんな感じにしてみました。
"拡張"をスキップしているだけですが,ジャンルカラーが,良い感じになります。
でも,対象が有料チャンネルに多いので,当方には,あまり意味ないかも orz
util.js
getFirstClass: function (genres)
{
var id = (genres & 0xf0) >> 4
for (var i = 0; i < 4; i++){
if (((genres >> i * 8) & 0xf0) >> 4 != 0xE) {
id = ((genres >> i * 8) & 0xf0) >> 4
return this.getClass(id)
}
}
return this.getClass(id)
},
by keii (2018-04-09 12:45) 

keii

コメントってインデントが効かないんだ orz
by keii (2018-04-09 12:46) 

tvmaid

ジャンルテーブルは、ジャンルを使った新機能を思いついたらでいいですね。

ジャンルフィルタは、あらかじめ設定でジャンルを選択しておき、
番組表や検索のフィルタボタンを押すと、そのジャンルの番組だけ表示、みたいなのを考えていました。
おもしろそうだけど、使わなそう・・・

>"拡張"付いてても,普通のジャンルコード(?)が付いてるし…

普通のも付けたうえで、例えば映画チャンネルだと、
全部「映画」になってしまうので、もっと細かく分けるためにあるようです。

拡張ジャンルについては、以下のリンク。
他の場所にもあるかも。これは英語版なので読めん・・・

0xE0のとき、付属情報(中止の可能性など)。
https://www.arib.or.jp/kikaku/kikaku_hoso/tr-b14.html
6.0-E1 2015.12.03 第4分冊(下の方の英語版) 384ページ

0xE1のとき、CS拡張ジャンル(スポーツと映画)
https://www.arib.or.jp/kikaku/kikaku_hoso/tr-b15.html
4.6-E1 2008.12.12 第4分冊(下の方の英語版) 324ページ

これは、EDCBのソース。コードを少し変更して使っているみたい。
https://github.com/xtne6f/EDCB/blob/work-plus-s/Common/EpgTimerUtil.cpp#L281

>"拡張"をスキップしているだけですが,ジャンルカラーが,良い感じになります。

たしかに、使わないなら0xEは最初から入れなくてもいいかも。

ちなみにjavascriptは、ビット演算が32ビット符号付き計算になってしまうので、
「0xff000000 >> 24」は思ったようにならないようです。


ジャンルデータを少し変更しようかと考えています。
・ジャンルを6個まで取得
・拡張ジャンルを取得

データベースは変更なし。
event.ganreに、あと2つぶん詰め込みます。
(増えた部分をスクリプトで使う場合、少し工夫が必要)

拡張ジャンルを追加しますが、2バイトにはせず、基本ジャンルの使ってないコードにマッピングします。
(予備部分「0xCと0xD」に入れてしまう)
by tvmaid (2018-04-10 18:58) 

keii

> ジャンルテーブルは、ジャンルを使った新機能を思いついたらでいいですね。
> :
> おもしろそうだけど、使わなそう・・・
もう,全く違うアプローチで,番組表→(自動)予約する感じですね。
# TvRock風じゃないな,これは…(笑

ちなみに,限界までチューナ載せて,該当ジャンル全録とか(笑
TVTestの番組表の様に,"ショッピング"をブラックアウトさせたりとか?
結局,"あぁ,そんな機能があるんだ…"程度で,積極的に活用しない気がします。
当方も,ジャンルフィルタ付けたけど,全然使っていない(笑

家族で1台(1PC)な使い方等,全く別のシチュエーションであれば,なんか出て来そうですが…
何も想像できない当方,頭固いですね orz

> 拡張ジャンルについては、以下のリンク。
誠に有難うございます。 探せず難儀しておりました。
# どこから当たれば良いかすら,思い浮かばない状態でした。
# B10見たけど英語版じゃ,シンドすぎですorz

これで,謎(?)が解けました,が,理解できてないな…多分(笑

> ちなみにjavascriptは、ビット演算が32ビット符号付き計算…
あ”!なんと"がっかり"なミス orz
C#からのコピペじゃ,当然,ダメですよね(泣

> ジャンルデータを少し変更しようかと考えています。
拡張を拾って頂けるのは,幸いです。
CSの12Slot化で,映画系は契約者増 →需要が増える?かな。

> (予備部分「0xCと0xD」に入れてしまう)
策定されてから,ほとんど変改していない感じだし,スポーツ/映画,2つ分あればOKですね。
洋画/邦画の区別は,先についているであろうジャンルコードで区別できそうですし。


ちなみに,この様なお話は,"掲示板"の方が良いでしょうか?
# 板も盛り上がるし(笑
# でも,混沌と化す…かな(爆

by keii (2018-04-11 10:59) 

tvmaid

>ちなみにjavascriptは、ビット演算が32ビット符号付き計算…

ごめん、問題ないです。
この場合は途中でマスクしてるので。
比較が失敗すると勘違い・・・

>スポーツ/映画,2つ分あればOKですね。

そう思ってましたが、邦画と洋画で微妙に違うし、
付属情報も入れようとすると、別の場所にも押し込む必要がありそう。

>"掲示板"の方が良いでしょうか?

こちらでいいです。
たぶん、他の人のレスはつかないのでw
掲示板に書いてもらえれば、そちらでレスしますが。

by tvmaid (2018-04-11 21:53) 

keii

>> ちなみにjavascriptは、ビット演算が32ビット符号付き計算…
> ごめん、問題ないです。
お!そうでしたか。 実は,本件の検証を先送りしてました。(オイオイ
で,陰で(?),先のコメントに有った,"ジャンルを6つ,拡張も取ってやるぜ!" に刺激を受けて,自前で出来ないかと,トライしてみましたが,案の定,悪戦苦闘(笑
init64でビットシフト >4x8bit でなんで,マイナスになっちゃうのぉ〜って,初歩の初歩でドツボってました(笑
# これは,もうちょっと,自力で頑張ります(これ日々,勉強です

>> スポーツ/映画,2つ分あればOKですね。
> そう思ってましたが、邦画と洋画で微妙に違うし、
う〜む。 これは,"どこまで本気(正確に)で対応するか?" ですよね…
ユーザーからすれば,"こんなジャンル,有ったんだなんだ〜,ちょっと便利かも" 程度では。
もちろん,後々のことを考えると,"ちゃんとすべき" なのでしょうけど,いつ何時ARIB(これはスカパー!かな?)が仕様変更するか分からないし
仕様変更の時には,もうMAYAじゃなくって,別な"娘"になってるかもよぉ(笑

MAYAでは,(解ってるけど)こうしたが,でも,次は本気出す!でOKでは?
そして,MAYAで,”実験的実装で,問題の明確化” をするのが,”吉” と思うのは,当方の身勝手でしょうか(笑
あまり好きではない言葉ですが "次に繋がる" って事で,よしなに(笑
# 現実は,"次が有る" なんて,世の中,そんなに甘くないっすよ,ほんと orz

>> "掲示板"の方が良いでしょうか?
> こちらでいいです。
了解です。 でも,ペースは,”まったり” で,お願いしますね。
# 現状,正直,付いて行けてませんし…(苦笑

by keii (2018-04-11 22:56) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。