OSDN Git Service

TvRock:録画or視聴指定の追加
authorpeeweedee <peeweedee@users.sourceforge.jp>
Mon, 20 Jan 2014 17:41:19 +0000 (02:41 +0900)
committerpeeweedee <peeweedee@users.sourceforge.jp>
Mon, 20 Jan 2014 17:41:19 +0000 (02:41 +0900)
TinyBannavi/05_history.txt
TinyBannavi/src/tainavi/pluginrec/PlugIn_RecRD_EDCB.java
TinyBannavi/src/tainavi/pluginrec/PlugIn_RecRD_TvRock.java

index e3ca92f..20ed6a0 100644 (file)
@@ -13,7 +13,9 @@
 3.22.12β+1.5.12(2014-01-XX)\r
 ■変更点\r
  ・(レコーダ対応[DIGA BWT650]) 追加(>>673.)\r
- ・(新聞形式)番組枠内テキストの描画を、LineBreakMeasurerからdrawGlyphVectorに変更。それに伴い番組詳細の描画行数制限を廃止\r
+ ・(レコーダ対応[TvRock]) 録画/視聴のモード設定の追加\r
+ ・(新聞形式) 番組枠内テキストの描画を、LineBreakMeasurerからdrawGlyphVectorに変更。それに伴い番組詳細の描画行数制限を廃止\r
+ ・(その他) プラグインの格納場所を変えた\r
 ■バグ修正\r
  ・(新聞形式)現在時刻表示、日跨りがおきたときに表示が05:00の座標へ移動しない問題を修正(>>649.)\r
  ・(新聞形式)現在時刻移動ボタンを押した時、05:00-05:30の間は05:00の座標へ移動しない問題を修正\r
index 0a033fb..c44782f 100644 (file)
@@ -26,8 +26,6 @@ import tainavi.RecordedInfo;
 import tainavi.ReserveList;\r
 import tainavi.TextValueSet;\r
 import tainavi.TraceProgram;\r
-import tainavi.HDDRecorder.RecType;\r
-import tainavi.HDDRecorderUtils.MyAuthenticator;\r
 import tainavi.TVProgram.ProgGenre;\r
 import tainavi.TVProgram.ProgSubgenre;\r
 \r
index bdadf0d..42e5f17 100644 (file)
@@ -74,6 +74,8 @@ public class PlugIn_RecRD_TvRock extends HDDRecorderUtils implements HDDRecorder
        @Override\r
        public String getLabel_Audiorate() { return "予約方法"; }\r
        @Override\r
+       public String getLabel_Folder() { return "録画モード"; }\r
+       @Override\r
        public String getLabel_XChapter() { return "待機時間(秒前)"; }\r
        @Override\r
        public String getLabel_MsChapter() { return "録画開始(秒前)"; }\r
@@ -100,6 +102,25 @@ public class PlugIn_RecRD_TvRock extends HDDRecorderUtils implements HDDRecorder
        \r
        private static final String VALUE_CH_EPGGET             = "";\r
 \r
+       private static final String VALUE_YES  = "1";\r
+       private static final String VALUE_NO   = "0";\r
+       \r
+       private static final String ITEM_REC_MODE_RECORD        = "録画のみ";\r
+       private static final String ITEM_REC_MODE_WATCH         = "視聴のみ";\r
+       private static final String ITEM_REC_MODE_RANDW         = "録画+視聴";\r
+       private static final String ITEM_REC_MODE_FANDO         = "録画+ワンセグ";\r
+       \r
+       private static final String VALUE_REC_MODE_RECORD       = "100";\r
+       private static final String VALUE_REC_MODE_WATCH        = "010";\r
+       private static final String VALUE_REC_MODE_RANDW        = "110";\r
+       private static final String VALUE_REC_MODE_FANDO        = "101";\r
+       \r
+       private static final String[] KEYS_REC_MODE = {\r
+               "reconly",\r
+               "watchonly",\r
+               "oneseg"\r
+       };\r
+       \r
        // ログ関連\r
        \r
        private final String MSGID = "["+getRecorderId()+"] ";\r
@@ -380,6 +401,7 @@ public class PlugIn_RecRD_TvRock extends HDDRecorderUtils implements HDDRecorder
                String recDefaultsTFile = "env/recdefaults."+getIPAddr()+"_"+getPortNo()+"_"+getRecorderId()+".xml";\r
                \r
                // ハードコーディングな選択肢の面々\r
+               setSettingRecMode(folder);\r
                setSettingRecType(arate);\r
                setSettingBvperf(bvperf);\r
                \r
@@ -762,6 +784,23 @@ public class PlugIn_RecRD_TvRock extends HDDRecorderUtils implements HDDRecorder
                        // (1-11)終了後コマンド\r
                        r.setRec_aspect(getSelectedSetting("cuscom",res));\r
                        \r
+                       // 予約実行+録画モード\r
+                       mb = Pattern.compile("<input type=\"checkbox\" name=\"valid\" value=\"true\"( checked)?>",Pattern.DOTALL).matcher(res);\r
+                       r.setExec(mb.find() && mb.group(1) != null);\r
+                       \r
+                       // 録画モード\r
+                       {\r
+                               String rec_mode_value = "";\r
+                               for ( int i=0; i < KEYS_REC_MODE.length; i++ ) {\r
+                                       String rmname = KEYS_REC_MODE[i];\r
+                                       Matcher mc = Pattern.compile("<input type=\"checkbox\" name=\""+rmname+"\" value=\"true\"( checked)?>",Pattern.DOTALL).matcher(res);\r
+                                       rec_mode_value += (mc.find() && mc.group(1) != null) ? VALUE_YES : VALUE_NO;\r
+                               }\r
+                               \r
+                               String rec_mode_text = value2text(folder, rec_mode_value);\r
+                               r.setRec_folder(rec_mode_text != null ? rec_mode_text : ITEM_REC_MODE_RECORD);\r
+                       }\r
+                       \r
                        // 時刻を調べる\r
                        r.setAhh(getSelectedSetting("shour",res));\r
                        r.setAmm(getSelectedSetting("smin",res));\r
@@ -1912,9 +1951,14 @@ public class PlugIn_RecRD_TvRock extends HDDRecorderUtils implements HDDRecorder
                        if (r.getExec()) {\r
                                sb.append("valid=true&");\r
                        }\r
+                       if ( r.getRec_folder() != null ) {\r
+                               String rmvalue = text2value(folder, r.getRec_folder());\r
+                               for ( int i=0; i<rmvalue.length(); i++ ) {\r
+                                       String val = rmvalue.substring(i,i+1).equals(VALUE_YES) ? "true" : "";\r
+                                       sb.append(KEYS_REC_MODE[i]+"="+val+"&");\r
+                               }\r
+                       }\r
                        if (aspect.size() > 0) {\r
-                               sb.append("reconly=true&");\r
-                               sb.append("watchonly=&");\r
                                sb.append("extmd="+text2value(dvdcompat,r.getRec_dvdcompat())+"&");\r
                                sb.append("idle="+text2value(xchapter,r.getRec_xchapter())+"&");\r
                                sb.append("ready="+text2value(mschapter,r.getRec_mschapter())+"&");\r
@@ -1963,6 +2007,16 @@ public class PlugIn_RecRD_TvRock extends HDDRecorderUtils implements HDDRecorder
                return false;\r
        }\r
        \r
+       // 録画モード\r
+       private void setSettingRecMode(ArrayList<TextValueSet> tvs) {\r
+               tvs.clear();\r
+               TextValueSet t = add2tvs(tvs,ITEM_REC_MODE_RECORD,VALUE_REC_MODE_RECORD);\r
+               t.setDefval(true);\r
+               add2tvs(tvs,ITEM_REC_MODE_WATCH,VALUE_REC_MODE_WATCH);\r
+               add2tvs(tvs,ITEM_REC_MODE_RANDW,VALUE_REC_MODE_RANDW);\r
+               add2tvs(tvs,ITEM_REC_MODE_FANDO,VALUE_REC_MODE_FANDO);\r
+       }\r
+       \r
        // 既存ユーザが混乱するのでデフォルトはプログラム予約\r
        private void setSettingRecType(ArrayList<TextValueSet> tvs) {\r
                tvs.clear();\r