int main(int argc, char* argv[]) { if (argc < 2) { printf("%s <ip>\n", argv[0]); return 0; } tlog_init(TLOG_MODE_STDERR, TLOG_INFO, NULL); rcp_connect(argv[1]); start_message_manager(); client_register(RCP_USER_LEVEL_LIVE, "", RCP_REGISTRATION_TYPE_NORMAL, RCP_ENCRYPTION_MODE_MD5); int preset_id = get_coder_preset(1); TL_INFO("preset id = %d", preset_id); preset_id = get_current_stream_profile(1, 1, &preset_id); TL_INFO("preset id = %d", preset_id); preset_set_default(1); rcp_mpeg4_preset preset; get_preset(1, &preset, 0); log_preset(TLOG_INFO, &preset, 0); strcpy(preset.name, "myConfig"); preset.resolution = PRESET_RESOLUTION_4CIF; preset.field_mode = PRESET_FIELD_MODE_PROGRESSIVE; preset.bandwidth = 100000; preset.bandwidth_soft_limit = 100000; preset.video_quality = 1; preset.avc_gop_structure = 0; preset.averaging_period = 0; preset.iframe_distance = 31; preset.avc_pframe_qunatizer_min = 0; preset.avc_delta_ipquantizer = 5; set_preset(1, &preset, 0); get_preset(1, &preset, 0); log_preset(TLOG_INFO, &preset, 0); client_unregister(); stop_message_manager(); return 0; }
// game-specific command line arguments handled here bool seektest::handle_cmdline_arg(const char *arg) { bool result = true; // assume true unless otherwise specified // it's hard to remember numbers, so this is an alternate way to specify // which disc you want if (strcasecmp(arg, "-lair") == 0) { set_preset(0); } else if (strcasecmp(arg, "-ace") == 0) { set_preset(1); } else if (strcasecmp(arg, "-sdq") == 0) { set_preset(2); } else if (strcasecmp(arg, "-cliff") == 0) { set_preset(3); } else if (strcasecmp(arg, "-astron") == 0) { set_preset(4); } else if (strcasecmp(arg, "-galaxy") == 0) { set_preset(5); } else if (strcasecmp(arg, "-tq") == 0) { set_preset(6); } else if (strcasecmp(arg, "-cobra") == 0) { set_preset(7); } else if (strcasecmp(arg, "-esh") == 0) { set_preset(8); } else if (strcasecmp(arg, "-badlands") == 0) { set_preset(9); } else if (strcasecmp(arg, "-bega") == 0) { set_preset(10); } else if (strcasecmp(arg, "-ffr") == 0) { set_preset(11); } else if (strcasecmp(arg, "-gpworld") == 0) { set_preset(12); } else if (strcasecmp(arg, "-dlpal") == 0) { set_preset(13); } else if (strcasecmp(arg, "-dlsc") == 0) { set_preset(14); } else if (strcasecmp(arg, "-interstellar") == 0) { set_preset(15); } else if (strcasecmp(arg, "-lair2") == 0) { set_preset(18); // 16 isn't as mainstream } else if (strcasecmp(arg, "-mach3") == 0) { set_preset(17); } else if (strcasecmp(arg, "-uvt") == 0) { set_preset(19); } else if (strcasecmp(arg, "-ace91") == 0) { set_preset(20); } else if (strcasecmp(arg, "-timetrav") == 0) { set_preset(21); } else if (strcasecmp(arg, "-maddog") == 0) { set_preset(22); } // no match else { result = false; } return result; }
INT_PTR CALLBACK dialog_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { switch (msg) { case WM_INITDIALOG: { HICON h_icon; h_icon = (HICON)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ACEICON), IMAGE_ICON, 32, 32, 0); SendMessage(hwnd, WM_SETICON, ICON_BIG, (LPARAM)h_icon); h_icon = (HICON)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ACEICON), IMAGE_ICON, 16, 16, 0); SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)h_icon); SendMessage(GetDlgItem(hwnd, IDC_COMBO_AAMODE), CB_ADDSTRING, 0, (LPARAM)L"Multisampling"); SendMessage(GetDlgItem(hwnd, IDC_COMBO_AAMODE), CB_ADDSTRING, 0, (LPARAM)L"Adaptive multisampling"); SendMessage(GetDlgItem(hwnd, IDC_COMBO_AAMODE), CB_ADDSTRING, 0, (LPARAM)L"Supersampling"); SendMessage(GetDlgItem(hwnd, IDC_COMBO_AAFILTER), CB_ADDSTRING, 0, (LPARAM)L"Box"); SendMessage(GetDlgItem(hwnd, IDC_COMBO_AAFILTER), CB_ADDSTRING, 0, (LPARAM)L"Narrow-tent"); SendMessage(GetDlgItem(hwnd, IDC_COMBO_AAFILTER), CB_ADDSTRING, 0, (LPARAM)L"Wide-tent"); SendMessage(GetDlgItem(hwnd, IDC_COMBO_AAFILTER), CB_ADDSTRING, 0, (LPARAM)L"Edge detect"); SendMessage(GetDlgItem(hwnd, IDC_SLIDER_PRESETS), TBM_SETRANGE, TRUE, MAKELONG(0, 5)); SendMessage(GetDlgItem(hwnd, IDC_SLIDER_PRESETS), TBM_SETTICFREQ, 1, 0); SendMessage(GetDlgItem(hwnd, IDC_SLIDER_ANTIALIAS), TBM_SETRANGE, TRUE, MAKELONG(0, 3)); SendMessage(GetDlgItem(hwnd, IDC_SLIDER_ANTIALIAS), TBM_SETTICFREQ, 1, 0); SendMessage(GetDlgItem(hwnd, IDC_SLIDER_ANISO), TBM_SETRANGE, TRUE, MAKELONG(0, 4)); SendMessage(GetDlgItem(hwnd, IDC_SLIDER_ANISO), TBM_SETTICFREQ, 1, 0); SendMessage(GetDlgItem(hwnd, IDC_SLIDER_MIPMAP), TBM_SETRANGE, TRUE, MAKELONG(0, 3)); SendMessage(GetDlgItem(hwnd, IDC_SLIDER_MIPMAP), TBM_SETTICFREQ, 1, 0); SendMessage(GetDlgItem(hwnd, IDC_SLIDER_TEXTURE), TBM_SETRANGE, TRUE, MAKELONG(0, 2)); SendMessage(GetDlgItem(hwnd, IDC_SLIDER_TEXTURE), TBM_SETTICFREQ, 1, 0); SendMessage(GetDlgItem(hwnd, IDC_SLIDER_VSYNC), TBM_SETRANGE, TRUE, MAKELONG(0, 3)); SendMessage(GetDlgItem(hwnd, IDC_SLIDER_VSYNC), TBM_SETTICFREQ, 1, 0); SendMessage(GetDlgItem(hwnd, IDC_SLIDER_TESS), TBM_SETRANGE, TRUE, MAKELONG(0, 9)); SendMessage(GetDlgItem(hwnd, IDC_SLIDER_TESS), TBM_SETTICFREQ, 1, 0); set_starting_values(hwnd); } break; case WM_HSCROLL: { if ((HWND)lparam == GetDlgItem(hwnd, IDC_SLIDER_PRESETS)) { LRESULT value = SendMessage(GetDlgItem(hwnd, IDC_SLIDER_PRESETS), TBM_GETPOS, 0, 0); set_preset(hwnd, value); SetDlgItemText(hwnd, IDC_LABEL_PRESET, text_presets[value]); } else if ((HWND)lparam == GetDlgItem(hwnd, IDC_SLIDER_ANTIALIAS)) { LRESULT value = SendMessage(GetDlgItem(hwnd, IDC_SLIDER_ANTIALIAS), TBM_GETPOS, 0, 0); if (value == 0) { values.anti_alias = 1; values.anti_alias_samples = 0; } else { values.anti_alias = 2; values.anti_alias_samples = (int)pow(2, value); } SetDlgItemText(hwnd, IDC_LABEL_ANTIALIAS, text_antialias[value]); } else if ((HWND)lparam == GetDlgItem(hwnd, IDC_SLIDER_ANISO)) { LRESULT value = SendMessage(GetDlgItem(hwnd, IDC_SLIDER_ANISO), TBM_GETPOS, 0, 0); if (value == 0) values.aniso_degree = 0; else values.aniso_degree = (int)pow(2, value); SetDlgItemText(hwnd, IDC_LABEL_ANISO, text_aniso[value]); } else if ((HWND)lparam == GetDlgItem(hwnd, IDC_SLIDER_MIPMAP)) { LRESULT value = SendMessage(GetDlgItem(hwnd, IDC_SLIDER_MIPMAP), TBM_GETPOS, 0, 0); values.texture_lod = 3 - value; SetDlgItemText(hwnd, IDC_LABEL_MIPMAP, text_mipmap[value]); } else if ((HWND)lparam == GetDlgItem(hwnd, IDC_SLIDER_TEXTURE)) { LRESULT value = SendMessage(GetDlgItem(hwnd, IDC_SLIDER_TEXTURE), TBM_GETPOS, 0, 0); values.tfq = 2 - value; SetDlgItemText(hwnd, IDC_LABEL_TEXTURE, text_texture[value]); } else if ((HWND)lparam == GetDlgItem(hwnd, IDC_SLIDER_VSYNC)) { LRESULT value = SendMessage(GetDlgItem(hwnd, IDC_SLIDER_VSYNC), TBM_GETPOS, 0, 0); values.vsync_control = value; SetDlgItemText(hwnd, IDC_LABEL_VSYNC, text_vsync[value]); } else if ((HWND)lparam == GetDlgItem(hwnd, IDC_SLIDER_TESS)) { LRESULT value = SendMessage(GetDlgItem(hwnd, IDC_SLIDER_TESS), TBM_GETPOS, 0, 0); if (value < 2) { values.tessellation_option = value; values.tessellation = 1; } else { values.tessellation_option = 2; switch (value) { case 2: values.tessellation = 1; break; case 3: values.tessellation = 2; break; case 4: values.tessellation = 4; break; case 5: values.tessellation = 6; break; case 6: values.tessellation = 8; break; case 7: values.tessellation = 16; break; case 8: values.tessellation = 32; break; case 9: values.tessellation = 64; break; } } SetDlgItemText(hwnd, IDC_LABEL_TESS, text_tess[value]); } } break; case WM_COMMAND: { switch (LOWORD(wparam)) { case IDC_COMBO_AAMODE: //if (HIWORD(wparam) == CBN_SELCHANGE) break; case IDC_COMBO_AAFILTER: if (HIWORD(wparam) == CBN_SELCHANGE) values.aaf = SendMessage(GetDlgItem(hwnd, IDC_COMBO_AAFILTER), CB_GETCURSEL, 0, 0); break; case IDC_CHECK_MLAA: values.mlf = IsDlgButtonChecked(hwnd, IDC_CHECK_MLAA); break; case IDC_CHECK_SURFACE: values.surface_format_replacements = IsDlgButtonChecked(hwnd, IDC_CHECK_SURFACE); break; case IDC_CHECK_TRIPLEBUFFER: values.triple_buffering = IsDlgButtonChecked(hwnd, IDC_CHECK_TRIPLEBUFFER); break; case IDOK: save_settings(); EndDialog(hwnd, ERROR_SUCCESS); return TRUE; case IDCANCEL: EndDialog(hwnd, ERROR_SUCCESS); return TRUE; case IDAPPLY: save_settings(); return TRUE; } } break; } return FALSE; }
static enum display_type set_dataimage_preset(const struct panel_config preset, int x_res, int y_res) { set_preset(preset, x_res, y_res); return DATA_IMAGE; }
static enum display_type set_dvi_preset(const struct panel_config preset, int x_res, int y_res) { set_preset(preset, x_res, y_res); return DVI; }
int main(int argc, char* argv[]) { tlog_init(TLOG_MODE_STDERR, TLOG_INFO, NULL); if (argc < 2) { TL_INFO("%s ip\n", argv[0]); return 0; } rcp_connect(argv[1]); start_event_handler(); client_register(RCP_USER_LEVEL_LIVE, "", RCP_REGISTRATION_TYPE_NORMAL, RCP_ENCRYPTION_MODE_MD5); rcp_coder_list encoders; get_coder_list(RCP_CODER_DECODER, RCP_MEDIA_TYPE_VIDEO, &encoders, 2); int preset_id = get_coder_preset(8); rcp_mpeg4_preset preset; get_preset(preset_id, &preset, 1); log_preset(TLOG_INFO, &preset, 1); preset.resolution = RCP_VIDEO_RESOLUTION_4CIF; set_preset(preset_id, &preset, 1); log_preset(TLOG_INFO, &preset, 1); /* for (int i=0; i<encoders.count; i++) { int mode; get_coder_video_operation_mode(encoders.coder[i].number, &mode); TL_INFO("video mode is %d", mode); TL_INFO("%x %x %x %x %x", encoders.coder[i].number, encoders.coder[i].caps, encoders.coder[i].current_cap, encoders.coder[i].param_caps, encoders.coder[i].current_param); log_coder(TLOG_INFO, &encoders.coder[i]); mode = (mode==1)?2:1; mode = set_coder_video_operation_mode(encoders.coder[i].number, mode); TL_INFO("video mode is %d", mode); TL_INFO("-----------------------"); } get_coder_list(RCP_CODER_ENCODER, RCP_MEDIA_TYPE_VIDEO, &encoders, 1); for (int i=0; i<encoders.count; i++) { int mode; get_coder_video_operation_mode(encoders.coder[i].number, &mode); TL_INFO("video mode is %d", mode); TL_INFO("%x %x %x %x %x", encoders.coder[i].number, encoders.coder[i].caps, encoders.coder[i].current_cap, encoders.coder[i].param_caps, encoders.coder[i].current_param); log_coder(TLOG_INFO, &encoders.coder[i]); mode = (mode==1)?2:1; mode = set_coder_video_operation_mode(encoders.coder[i].number, mode); TL_INFO("video mode is %d", mode); TL_INFO("-----------------------"); } get_coder_list(RCP_CODER_DECODER, RCP_MEDIA_TYPE_AUDIO, &encoders, 1); for (int i=0; i<encoders.count; i++) { TL_INFO("%x %x %x %x %x", encoders.coder[i].number, encoders.coder[i].caps, encoders.coder[i].current_cap, encoders.coder[i].param_caps, encoders.coder[i].current_param); log_coder(TLOG_INFO, &encoders.coder[i]); TL_INFO("-----------------------"); } */ stop_event_handler(); return 0; }