タイニー番組ナビゲータ本体
Revisión | ee1ec6b95ef48076dc8d4ce8be5ed52ae0b9b542 (tree) |
---|---|
Tiempo | 2014-01-21 02:41:19 |
Autor | peeweedee <peeweedee@user...> |
Commiter | peeweedee |
TvRock:録画or視聴指定の追加
@@ -13,7 +13,9 @@ | ||
13 | 13 | 3.22.12β+1.5.12(2014-01-XX) |
14 | 14 | ■変更点 |
15 | 15 | ・(レコーダ対応[DIGA BWT650]) 追加(>>673.) |
16 | - ・(新聞形式)番組枠内テキストの描画を、LineBreakMeasurerからdrawGlyphVectorに変更。それに伴い番組詳細の描画行数制限を廃止 | |
16 | + ・(レコーダ対応[TvRock]) 録画/視聴のモード設定の追加 | |
17 | + ・(新聞形式) 番組枠内テキストの描画を、LineBreakMeasurerからdrawGlyphVectorに変更。それに伴い番組詳細の描画行数制限を廃止 | |
18 | + ・(その他) プラグインの格納場所を変えた | |
17 | 19 | ■バグ修正 |
18 | 20 | ・(新聞形式)現在時刻表示、日跨りがおきたときに表示が05:00の座標へ移動しない問題を修正(>>649.) |
19 | 21 | ・(新聞形式)現在時刻移動ボタンを押した時、05:00-05:30の間は05:00の座標へ移動しない問題を修正 |
@@ -26,8 +26,6 @@ import tainavi.RecordedInfo; | ||
26 | 26 | import tainavi.ReserveList; |
27 | 27 | import tainavi.TextValueSet; |
28 | 28 | import tainavi.TraceProgram; |
29 | -import tainavi.HDDRecorder.RecType; | |
30 | -import tainavi.HDDRecorderUtils.MyAuthenticator; | |
31 | 29 | import tainavi.TVProgram.ProgGenre; |
32 | 30 | import tainavi.TVProgram.ProgSubgenre; |
33 | 31 |
@@ -74,6 +74,8 @@ public class PlugIn_RecRD_TvRock extends HDDRecorderUtils implements HDDRecorder | ||
74 | 74 | @Override |
75 | 75 | public String getLabel_Audiorate() { return "予約方法"; } |
76 | 76 | @Override |
77 | + public String getLabel_Folder() { return "録画モード"; } | |
78 | + @Override | |
77 | 79 | public String getLabel_XChapter() { return "待機時間(秒前)"; } |
78 | 80 | @Override |
79 | 81 | public String getLabel_MsChapter() { return "録画開始(秒前)"; } |
@@ -100,6 +102,25 @@ public class PlugIn_RecRD_TvRock extends HDDRecorderUtils implements HDDRecorder | ||
100 | 102 | |
101 | 103 | private static final String VALUE_CH_EPGGET = ""; |
102 | 104 | |
105 | + private static final String VALUE_YES = "1"; | |
106 | + private static final String VALUE_NO = "0"; | |
107 | + | |
108 | + private static final String ITEM_REC_MODE_RECORD = "録画のみ"; | |
109 | + private static final String ITEM_REC_MODE_WATCH = "視聴のみ"; | |
110 | + private static final String ITEM_REC_MODE_RANDW = "録画+視聴"; | |
111 | + private static final String ITEM_REC_MODE_FANDO = "録画+ワンセグ"; | |
112 | + | |
113 | + private static final String VALUE_REC_MODE_RECORD = "100"; | |
114 | + private static final String VALUE_REC_MODE_WATCH = "010"; | |
115 | + private static final String VALUE_REC_MODE_RANDW = "110"; | |
116 | + private static final String VALUE_REC_MODE_FANDO = "101"; | |
117 | + | |
118 | + private static final String[] KEYS_REC_MODE = { | |
119 | + "reconly", | |
120 | + "watchonly", | |
121 | + "oneseg" | |
122 | + }; | |
123 | + | |
103 | 124 | // ログ関連 |
104 | 125 | |
105 | 126 | private final String MSGID = "["+getRecorderId()+"] "; |
@@ -380,6 +401,7 @@ public class PlugIn_RecRD_TvRock extends HDDRecorderUtils implements HDDRecorder | ||
380 | 401 | String recDefaultsTFile = "env/recdefaults."+getIPAddr()+"_"+getPortNo()+"_"+getRecorderId()+".xml"; |
381 | 402 | |
382 | 403 | // ハードコーディングな選択肢の面々 |
404 | + setSettingRecMode(folder); | |
383 | 405 | setSettingRecType(arate); |
384 | 406 | setSettingBvperf(bvperf); |
385 | 407 |
@@ -762,6 +784,23 @@ public class PlugIn_RecRD_TvRock extends HDDRecorderUtils implements HDDRecorder | ||
762 | 784 | // (1-11)終了後コマンド |
763 | 785 | r.setRec_aspect(getSelectedSetting("cuscom",res)); |
764 | 786 | |
787 | + // 予約実行+録画モード | |
788 | + mb = Pattern.compile("<input type=\"checkbox\" name=\"valid\" value=\"true\"( checked)?>",Pattern.DOTALL).matcher(res); | |
789 | + r.setExec(mb.find() && mb.group(1) != null); | |
790 | + | |
791 | + // 録画モード | |
792 | + { | |
793 | + String rec_mode_value = ""; | |
794 | + for ( int i=0; i < KEYS_REC_MODE.length; i++ ) { | |
795 | + String rmname = KEYS_REC_MODE[i]; | |
796 | + Matcher mc = Pattern.compile("<input type=\"checkbox\" name=\""+rmname+"\" value=\"true\"( checked)?>",Pattern.DOTALL).matcher(res); | |
797 | + rec_mode_value += (mc.find() && mc.group(1) != null) ? VALUE_YES : VALUE_NO; | |
798 | + } | |
799 | + | |
800 | + String rec_mode_text = value2text(folder, rec_mode_value); | |
801 | + r.setRec_folder(rec_mode_text != null ? rec_mode_text : ITEM_REC_MODE_RECORD); | |
802 | + } | |
803 | + | |
765 | 804 | // 時刻を調べる |
766 | 805 | r.setAhh(getSelectedSetting("shour",res)); |
767 | 806 | r.setAmm(getSelectedSetting("smin",res)); |
@@ -1912,9 +1951,14 @@ public class PlugIn_RecRD_TvRock extends HDDRecorderUtils implements HDDRecorder | ||
1912 | 1951 | if (r.getExec()) { |
1913 | 1952 | sb.append("valid=true&"); |
1914 | 1953 | } |
1954 | + if ( r.getRec_folder() != null ) { | |
1955 | + String rmvalue = text2value(folder, r.getRec_folder()); | |
1956 | + for ( int i=0; i<rmvalue.length(); i++ ) { | |
1957 | + String val = rmvalue.substring(i,i+1).equals(VALUE_YES) ? "true" : ""; | |
1958 | + sb.append(KEYS_REC_MODE[i]+"="+val+"&"); | |
1959 | + } | |
1960 | + } | |
1915 | 1961 | if (aspect.size() > 0) { |
1916 | - sb.append("reconly=true&"); | |
1917 | - sb.append("watchonly=&"); | |
1918 | 1962 | sb.append("extmd="+text2value(dvdcompat,r.getRec_dvdcompat())+"&"); |
1919 | 1963 | sb.append("idle="+text2value(xchapter,r.getRec_xchapter())+"&"); |
1920 | 1964 | sb.append("ready="+text2value(mschapter,r.getRec_mschapter())+"&"); |
@@ -1963,6 +2007,16 @@ public class PlugIn_RecRD_TvRock extends HDDRecorderUtils implements HDDRecorder | ||
1963 | 2007 | return false; |
1964 | 2008 | } |
1965 | 2009 | |
2010 | + // 録画モード | |
2011 | + private void setSettingRecMode(ArrayList<TextValueSet> tvs) { | |
2012 | + tvs.clear(); | |
2013 | + TextValueSet t = add2tvs(tvs,ITEM_REC_MODE_RECORD,VALUE_REC_MODE_RECORD); | |
2014 | + t.setDefval(true); | |
2015 | + add2tvs(tvs,ITEM_REC_MODE_WATCH,VALUE_REC_MODE_WATCH); | |
2016 | + add2tvs(tvs,ITEM_REC_MODE_RANDW,VALUE_REC_MODE_RANDW); | |
2017 | + add2tvs(tvs,ITEM_REC_MODE_FANDO,VALUE_REC_MODE_FANDO); | |
2018 | + } | |
2019 | + | |
1966 | 2020 | // 既存ユーザが混乱するのでデフォルトはプログラム予約 |
1967 | 2021 | private void setSettingRecType(ArrayList<TextValueSet> tvs) { |
1968 | 2022 | tvs.clear(); |