/* ************************************************************************* */ void GlobalFunction::matlab_proxy(const std::string& toolboxPath, const std::string& wrapperName, const TypeAttributesTable& typeAttributes, FileWriter& wrapperFile, std::vector<std::string>& functionNames) const { // cluster overloads with same namespace // create new GlobalFunction structures around namespaces - same namespaces and names are overloads // map of namespace to global function typedef map<string, GlobalFunction> GlobalFunctionMap; GlobalFunctionMap grouped_functions; for (size_t i=0; i<namespaces.size(); ++i) { StrVec ns = namespaces.at(i); string str_ns = qualifiedName("", ns, ""); ReturnValue ret = returnVals.at(i); ArgumentList args = argLists.at(i); if (!grouped_functions.count(str_ns)) grouped_functions[str_ns] = GlobalFunction(name, verbose_); grouped_functions[str_ns].argLists.push_back(args); grouped_functions[str_ns].returnVals.push_back(ret); grouped_functions[str_ns].namespaces.push_back(ns); } size_t lastcheck = grouped_functions.size(); BOOST_FOREACH(const GlobalFunctionMap::value_type& p, grouped_functions) { p.second.generateSingleFunction(toolboxPath, wrapperName, typeAttributes, wrapperFile, functionNames); if (--lastcheck != 0) wrapperFile.oss << endl; }
int Menu_MainProc(long mi) { /* menu_vol_100 menu_vol_75 menu_vol_50 menu_vol_25 menu_vol_mute menu_vol_autodec menu_vol_autoinc menu_eject menu_openfile menu_addfile menu_play menu_pause menu_stop menu_next menu_previous menu_rewind menu_fastforward menu_about menu_openfile menu_addfile menu_about menu_about menu_settings menu_skins menu_effects menu_conversion menu_ripping menu_joining menu_tageditor menu_select_drive menu_load_tracks menu_eject menu_sleep menu_wake menu_exit */ switch(mi) { case menu_about: basewindows_show_about(1); break; case menu_help: { letter fpath[v_sys_maxpath]; str_cpy(fpath, uni("file:///")); str_cat(fpath, fennec_get_path(0, 0)); str_cat(fpath, uni("/help/fennec help.html")); ShellExecute(window_main, 0, fpath, 0, 0, SW_SHOW); } break; case menu_vol_100: audio_setvolume(1.0f, 1.0f); break; case menu_vol_75: audio_setvolume(0.75f, 0.75f); break; case menu_vol_50: audio_setvolume(0.5f, 0.5f); break; case menu_vol_25: audio_setvolume(0.25f, 0.25f); break; case menu_vol_mute: audio_setvolume(0.0f, 0.0f); break; case menu_vol_autoinc: audio_getvolume(&volume_currentvolume_l, &volume_currentvolume_r); if(volume_active == volume_active_nothing) SetTimer(0, timer_volume, 20, (TIMERPROC)TimerProc_Volume); volume_active = volume_active_increase; break; case menu_vol_autodec: audio_getvolume(&volume_currentvolume_l, &volume_currentvolume_r); if(volume_active == volume_active_nothing) SetTimer(0, timer_volume, 20, (TIMERPROC)TimerProc_Volume); volume_active = volume_active_decrease; break; case menu_openfile: GlobalFunction(Function_OpenFileDialog); break; case menu_load_tracks: playback_loadtracks(); break; case menu_select_drive: DialogBox(instance_fennec, MAKEINTRESOURCE(IDD_SELDRIVE), window_main, (DLGPROC)callback_seldrive); break; case menu_eject: if(settings.player.selected_drive) { if(audio_playlist_getsource(audio_playlist_getcurrentindex())[0] == settings.player.selected_drive)audio_stop(); audio_input_drive_eject((char)settings.player.selected_drive); } break; case menu_play: GlobalFunction(Function_Play); break; case menu_pause: GlobalFunction(Function_Pause); break; case menu_stop: GlobalFunction(Function_Stop); break; case menu_previous: GlobalFunction(Function_Previous); break; case menu_next: GlobalFunction(Function_Next); break; case menu_rewind: GlobalFunction(Function_Rewind); break; case menu_fastforward: GlobalFunction(Function_Forward); break; case menu_addfile: GlobalFunction(Function_AddFileDialog); break; case menu_settings: settings_ui_show(); break; case menu_skins: settings_ui_show_ex(fennec_v_settings_ui_panel_skins); break; case menu_effects: settings_ui_show_ex(fennec_v_settings_ui_panel_dsp); break; case menu_conversion: basewindows_show_conversion(0); break; case menu_ripping: basewindows_show_ripping(1); break; case menu_joining: BaseWindows_ShowJoining(1); break; case menu_tageditor: basewindows_show_tagging(1, audio_playlist_getsource(audio_playlist_getcurrentindex())); break; case menu_sleep: fennec_power_sleep(); break; case menu_wake: fennec_power_wake(); break; case menu_exit: fennec_power_set(fennec_power_mode_default); break; default: return 0; } fennec_refresh(fennec_v_refresh_force_not); return 1; }
unsigned long kb_action(unsigned short fkey, struct setting_key *kcol, int kcount) { unsigned short kp = keypurpose_null; int i; for(i=0; i<kcount; i++) { if(kcol[i].kcomb == fkey) { kp = kcol[i].kaction; break; }else if(kcol[i].kcomb == 0 && kcol[i].kaction == keypurpose_null){ return 0; } } if(kp == keypurpose_null)return 0; switch(kp) { case keypurpose_play: audio_play(); break; case keypurpose_pause: audio_pause(); break; case keypurpose_stop: audio_stop(); break; case keypurpose_load: GlobalFunction(Function_OpenFileDialog); break; case keypurpose_rewind: GlobalFunction(Function_Rewind); break; case keypurpose_forward: GlobalFunction(Function_Forward); break; case keypurpose_previous: audio_playlist_previous(); break; case keypurpose_next: audio_playlist_next(); break; case keypurpose_eject: if(settings.player.selected_drive) { if(audio_playlist_getsource(audio_playlist_getcurrentindex())[0] == settings.player.selected_drive)audio_stop(); audio_input_drive_eject((char)settings.player.selected_drive); } break; case keypurpose_select: if(settings.player.selected_drive) { int i, c = audio_input_drive_gettracks((char)settings.player.selected_drive); letter buf[128]; letter buf2[32]; if(c > 0) { audio_playlist_clear(); for(i=0; i<c; i++) { buf[0] = (letter)settings.player.selected_drive; str_cpy(buf + 1, uni(":\\Track")); memset(buf2, 0, sizeof(buf2)); str_itos(i + 1, buf2, 10); str_cat(buf, buf2); str_cat(buf, uni(".cda")); audio_playlist_add(buf, 0, 0); } fennec_refresh(fennec_v_refresh_force_high); } } break; case keypurpose_panelsw_main: GlobalFunction(Function_MainPanel); break; case keypurpose_panelsw_color: GlobalFunction(Function_SelectThemePanel); break; case keypurpose_panelsw_visualization: //Display_ShowPanel(PanelID_Visualization); break; case keypurpose_panelsw_equalizer: GlobalFunction(Function_EqualizerPanel); break; case keypurpose_panelsw_mediainfo: break; case keypurpose_panelsw_playlist: break; case keypurpose_panelnext: //Display_ShowPanel_Next(); break; case keypurpose_panelprevious: //Display_ShowPanel_Back(); break; case keypurpose_exit: fennec_power_set(fennec_power_mode_default); break; case keypurpose_sleep: fennec_power_sleep(); break; case keypurpose_minimize: ShowWindow(window_main,SW_MINIMIZE); break; case keypurpose_refresh: fennec_refresh(fennec_v_refresh_force_full); break; case keypurpose_conversion: basewindows_show_conversion(0); break; case keypurpose_ripping: basewindows_show_ripping(1); break; case keypurpose_joining: BaseWindows_ShowJoining(1); break; case keypurpose_visualization: break; case keypurpose_playlist: break; case keypurpose_volumeup: { double vl = 0.0f, vr = 0.0f; audio_getvolume(&vl, &vr); vl += 0.05; vr += 0.05; if(vl > 1.0f)vl = 1.0f; if(vr > 1.0f)vr = 1.0f; audio_setvolume(vl, vr); fennec_refresh(fennec_v_refresh_force_not); } break; case keypurpose_volumedown: { double vl = 0.0f, vr = 0.0f; audio_getvolume(&vl, &vr); vl -= 0.05; vr -= 0.05; if(vl < 0.0f)vl = 0.0f; if(vr < 0.0f)vr = 0.0f; audio_setvolume(vl, vr); fennec_refresh(fennec_v_refresh_force_not); } break; case keypurpose_volumeup_auto: Menu_MainProc(menu_vol_autoinc); break; case keypurpose_volumedown_auto: Menu_MainProc(menu_vol_autodec); break; case keypurpose_volumemin: audio_setvolume(0.0f, 0.0f); fennec_refresh(fennec_v_refresh_force_not); break; case keypurpose_volumemax: audio_setvolume(1.0f, 1.0f); fennec_refresh(fennec_v_refresh_force_not); break; case keypurpose_addfile: GlobalFunction(Function_AddFileDialog); break; case keypurpose_fast_load: break; case keypurpose_fast_addfile: break; case keypurpose_preferences: settings_ui_show(); break; case keypurpose_keyboardviewer: break; case keypurpose_currenttagging: basewindows_show_tagging(0, audio_playlist_getsource(audio_playlist_getcurrentindex())); break; case keypurpose_switch_main: SetFocus(window_main); break; case keypurpose_switch_playlist: if(GetFocus() != window_main) { SetFocus(window_main); }else{ HWND plwnd; skins_function_getdata(get_window_playlist, &plwnd, 0); if(plwnd) { SetFocus(plwnd); break; } } break; case keypurpose_playlist_autoswitching: settings.player.auto_switching ^= 1; break; case keypurpose_playlist_shuffle: if(settings.player.playlist_shuffle) audio_playlist_setshuffle(0, 1); else audio_playlist_setshuffle(1, 1); break; case keypurpose_playlist_information: /* [todo] wrong!! */ basewindows_show_tagging(0, audio_playlist_getsource(audio_playlist_getcurrentindex())); break; case keypurpose_playlist_repeatall: settings.player.playlist_repeat_list ^= 1; break; case keypurpose_playlist_repeatsingle: settings.player.playlist_repeat_single ^= 1; break; case keypurpose_playlist_insert: GlobalFunction(Function_AddFileDialog); fennec_refresh(fennec_v_refresh_force_high); break; case keypurpose_playlist_insertdir: { letter fpath[v_sys_maxpath]; BROWSEINFO bi; LPITEMIDLIST lpi; fpath[0] = 0; bi.hwndOwner = window_main; bi.lpszTitle = uni("Add to playlist."); bi.pszDisplayName = fpath; bi.lpfn = 0; bi.iImage = 0; bi.lParam = 0; bi.pidlRoot = 0; bi.ulFlags = BIF_RETURNONLYFSDIRS; lpi = SHBrowseForFolder(&bi); SHGetPathFromIDList(lpi, fpath); if(str_len(fpath)) { AddDirectory(fpath); } fennec_refresh(fennec_v_refresh_force_high); } break; case keypurpose_playlist_remove: break; } return 1; }