@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
\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
String recDefaultsTFile = "env/recdefaults."+getIPAddr()+"_"+getPortNo()+"_"+getRecorderId()+".xml";\r
\r
// ハードコーディングな選択肢の面々\r
+ setSettingRecMode(folder);\r
setSettingRecType(arate);\r
setSettingBvperf(bvperf);\r
\r
// (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
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
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