int vid_init(void) { int r = SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO|SDL_INIT_NOPARACHUTE); int width = arg_intval("-width", 800); int height = arg_intval("-height", 600); int fullscreen = arg_intval("-fullscreen", 0); int bpp = arg_intval("-bpp", 32); int flags = SDL_OPENGL|(fullscreen?SDL_FULLSCREEN:0); if (r < 0) return FALSE; vid_width = width; vid_height = height; vid_anisotropy = arg_intval("-anisotropy", 1); if (vid_anisotropy < 1) vid_anisotropy = 1; if (bpp == 32 || bpp == 24) { SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); } else { SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 5); SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 5); SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 5); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16); SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); } if (!SDL_SetVideoMode(width, height, bpp, flags)) if (!SDL_SetVideoMode(width, height, bpp, flags&(~SDL_FULLSCREEN))) return FALSE; if (!load_extensions()) return FALSE; SDL_WM_SetCaption(GAME_TITLE, GAME_TITLE); SDL_WM_GrabInput(SDL_GRAB_ON); SDL_ShowCursor(0); SDL_EnableUNICODE(SDL_ENABLE); wh_ratio = (float)width/(float)height; hw_ratio = (float)height/(float)width; pixelw = 2.0/(float)width; pixelh = 2.0/(float)height; return TRUE; }
AddTaskWizard::AddTaskWizard(Presets *presets, QWidget *parent) : QWizard(parent), ui(new Ui::AddTaskWizard), m_presets(presets), m_current_param(new ConversionParameters) { ui->setupUi(this); // setup signals/slots connect(ui->btnAdd, SIGNAL(clicked()) , this, SLOT(slotAddFilesToList())); connect(ui->btnRemove, SIGNAL(clicked()) , this, SLOT(slotRemoveFilesFromList())); connect(ui->cbExtension, SIGNAL(currentIndexChanged(int)) , this, SLOT(slotExtensionSelected(int))); connect(ui->cbPreset, SIGNAL(currentIndexChanged(int)) , this, SLOT(slotPresetSelected(int))); connect(ui->btnEditPreset, SIGNAL(clicked()) , this, SLOT(slotEditPresetButton())); connect(ui->btnBrowseOutputPath, SIGNAL(clicked()) , this, SLOT(slotBrowseOutputPathButton())); connect(this, SIGNAL(accepted()) , this, SLOT(slotFinished())); connect(ui->rbSelectFolder, SIGNAL(toggled(bool)) , ui->cbOutputPath, SLOT(setEnabled(bool))); connect(ui->rbSelectFolder, SIGNAL(toggled(bool)) , ui->btnBrowseOutputPath, SLOT(setEnabled(bool))); connect(ui->rbNewFolder, SIGNAL(toggled(bool)) , ui->txtNewFolderName, SLOT(setEnabled(bool))); ui->rbSelectFolder->setChecked(true); // trigger toggled() event ui->rbNewFolder->setChecked(true); // trigger toggled() event ui->rbSourceFolder->setChecked(true); // trigger toggled() event ui->lstFiles->setSelectionMode(QAbstractItemView::ExtendedSelection); load_extensions(); ui->cbOutputPath->setEditable(true); load_settings(); QSettings settings; // Load Geometry restoreGeometry(settings.value("addtaskwizard/geometry").toByteArray()); // Hide "auto adjust bitrate" checkbox. ui->chkAutoAdjustBitrate->setVisible(false); }
/* _al_ogl_manage_extensions: * This functions fills the extensions API table and extension list * structures and displays on the log file which extensions are available. */ void _al_ogl_manage_extensions(ALLEGRO_DISPLAY *gl_disp) { //const GLubyte *buf; #if defined ALLEGRO_MACOSX CFURLRef bundle_url; #endif ALLEGRO_OGL_EXT_API *ext_api; ALLEGRO_OGL_EXT_LIST *ext_list; /* Print out OpenGL extensions * We should use glGetStringi(GL_EXTENSIONS, i) for OpenGL 3.0+ * but it doesn't seem to work until later. */ if (!_al_ogl_version_3_only(gl_disp->flags)) { ALLEGRO_DEBUG("OpenGL Extensions:\n"); print_extensions((char const *)glGetString(GL_EXTENSIONS)); } /* Print out GLU version */ //buf = gluGetString(GLU_VERSION); //ALLEGRO_INFO("GLU Version : %s\n", buf); #ifdef ALLEGRO_HAVE_DYNAMIC_LINK /* Get glXGetProcAddress entry */ __libgl_handle = dlopen("libGL.so", RTLD_LAZY); if (__libgl_handle) { alXGetProcAddress = (GLXGETPROCADDRESSARBPROC) dlsym(__libgl_handle, "glXGetProcAddressARB"); if (!alXGetProcAddress) { alXGetProcAddress = (GLXGETPROCADDRESSARBPROC) dlsym(__libgl_handle, "glXGetProcAddress"); if (!alXGetProcAddress) { alXGetProcAddress = (GLXGETPROCADDRESSARBPROC) dlsym(__libgl_handle, "eglGetProcAddress"); } } } else { ALLEGRO_WARN("Failed to dlopen libGL.so : %s\n", dlerror()); } ALLEGRO_INFO("glXGetProcAddress Extension: %s\n", alXGetProcAddress ? "Supported" : "Unsupported"); #elif defined ALLEGRO_UNIX #ifdef ALLEGROGL_GLXGETPROCADDRESSARB ALLEGRO_INFO("glXGetProcAddressARB Extension: supported\n"); #else ALLEGRO_INFO("glXGetProcAddress Extension: supported\n"); #endif #endif #ifdef ALLEGRO_MACOSX bundle_url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, CFSTR ("/System/Library/Frameworks/OpenGL.framework"), kCFURLPOSIXPathStyle, true); opengl_bundle_ref = CFBundleCreate(kCFAllocatorDefault, bundle_url); CFRelease(bundle_url); #endif #if defined ALLEGRO_UNIX && !defined ALLEGRO_EXCLUDE_GLX ALLEGRO_DEBUG("GLX Extensions:\n"); ALLEGRO_SYSTEM_XGLX *glx_sys = (void*)al_get_system_driver(); ALLEGRO_DISPLAY_XGLX *glx_disp = (void *)gl_disp; char const *ext = glXQueryExtensionsString( glx_sys->gfxdisplay, glx_disp->xscreen); if (!ext) { /* work around driver bugs? */ ext = ""; } print_extensions(ext); #endif fill_in_info_struct(glGetString(GL_RENDERER), &(gl_disp->ogl_extras->ogl_info)); /* Create & load extension API table */ ext_api = create_extension_api_table(); load_extensions(ext_api); gl_disp->ogl_extras->extension_api = ext_api; #if !defined ALLEGRO_IPHONE && !defined ALLEGRO_ANDROID /* Need that symbol already so can't wait until it is assigned later. */ glGetStringi = ext_api->GetStringi; if (_al_ogl_version_3_only(gl_disp->flags)) { ALLEGRO_DEBUG("OpenGL Extensions:\n"); print_extensions_3_0(); } #endif /* Create the list of supported extensions. */ ext_list = create_extension_list(); gl_disp->ogl_extras->extension_list = ext_list; /* Fill the list. */ #define AGL_EXT(name, ver) { \ ext_list->ALLEGRO_GL_##name = \ _ogl_is_extension_with_version_supported("GL_" #name, gl_disp, \ _ALLEGRO_OPENGL_VERSION_##ver); \ } #include "allegro5/opengl/GLext/gl_ext_list.h" #undef AGL_EXT #ifdef ALLEGRO_UNIX #define AGL_EXT(name, ver) { \ ext_list->ALLEGRO_GLX_##name = \ _ogl_is_extension_with_version_supported("GLX_" #name, gl_disp, \ _ALLEGRO_OPENGL_VERSION_##ver); \ } #include "allegro5/opengl/GLext/glx_ext_list.h" #undef AGL_EXT #elif defined ALLEGRO_WINDOWS #define AGL_EXT(name, ver) { \ ext_list->ALLEGRO_WGL_##name = \ _ogl_is_extension_with_version_supported("WGL_" #name, gl_disp, \ _ALLEGRO_OPENGL_VERSION_##ver); \ } #include "allegro5/opengl/GLext/wgl_ext_list.h" #undef AGL_EXT #endif /* TODO: use these somewhere */ #if 0 for (i = 0; i < 5; i++) { __allegro_gl_texture_read_format[i] = -1; __allegro_gl_texture_components[i] = GL_RGB; } __allegro_gl_texture_read_format[3] = GL_UNSIGNED_BYTE; __allegro_gl_texture_read_format[4] = GL_UNSIGNED_BYTE; __allegro_gl_texture_components[4] = GL_RGBA; #endif /* #if 0 */ /* Get max texture size */ glGetIntegerv(GL_MAX_TEXTURE_SIZE, (GLint *) & gl_disp->ogl_extras->ogl_info.max_texture_size); /* Note: Voodoo (even V5) don't seem to correctly support * packed pixel formats. Disabling them for those cards. */ ext_list->ALLEGRO_GL_EXT_packed_pixels &= !gl_disp->ogl_extras->ogl_info.is_voodoo; if (ext_list->ALLEGRO_GL_EXT_packed_pixels) { ALLEGRO_INFO("Packed Pixels formats available\n"); /* XXX On NV cards, we want to use BGRA instead of RGBA for speed */ /* Fills the __allegro_gl_texture_format array */ /* TODO: use these somewhere */ #if 0 __allegro_gl_texture_read_format[0] = GL_UNSIGNED_BYTE_3_3_2; __allegro_gl_texture_read_format[1] = GL_UNSIGNED_SHORT_5_5_5_1; __allegro_gl_texture_read_format[2] = GL_UNSIGNED_SHORT_5_6_5; #endif /* #if 0 */ } /* NVidia and ATI cards expose OpenGL 2.0 but often don't accelerate * non-power-of-2 textures. This check is how you verify that NP2 * textures are hardware accelerated or not. * We should clobber the NPOT support if it's not accelerated. */ { const char *vendor = (const char *)glGetString(GL_VENDOR); if (strstr(vendor, "NVIDIA Corporation")) { if (!ext_list->ALLEGRO_GL_NV_fragment_program2 || !ext_list->ALLEGRO_GL_NV_vertex_program3) { ext_list->ALLEGRO_GL_ARB_texture_non_power_of_two = 0; } } else if (strstr(vendor, "ATI Technologies")) { if (_al_ogl_version_3_only(gl_disp->flags)) { /* Assume okay. */ } else if (!strstr((const char *)glGetString(GL_EXTENSIONS), "GL_ARB_texture_non_power_of_two") && gl_disp->ogl_extras->ogl_info.version >= _ALLEGRO_OPENGL_VERSION_2_0) { ext_list->ALLEGRO_GL_ARB_texture_non_power_of_two = 0; } } } { int *s = gl_disp->extra_settings.settings; glGetIntegerv(GL_MAX_TEXTURE_SIZE, s + ALLEGRO_MAX_BITMAP_SIZE); if (gl_disp->ogl_extras->ogl_info.version >= _ALLEGRO_OPENGL_VERSION_2_0) s[ALLEGRO_SUPPORT_SEPARATE_ALPHA] = 1; s[ALLEGRO_SUPPORT_NPOT_BITMAP] = ext_list->ALLEGRO_GL_ARB_texture_non_power_of_two || ext_list->ALLEGRO_GL_OES_texture_npot; ALLEGRO_INFO("Use of non-power-of-two textures %s.\n", s[ALLEGRO_SUPPORT_NPOT_BITMAP] ? "enabled" : "disabled"); #if defined ALLEGRO_IPHONE || defined ALLEGRO_ANDROID if (gl_disp->flags & ALLEGRO_USE_PROGRAMMABLE_PIPELINE) { s[ALLEGRO_CAN_DRAW_INTO_BITMAP] = true; } else { s[ALLEGRO_CAN_DRAW_INTO_BITMAP] = ext_list->ALLEGRO_GL_OES_framebuffer_object; } ALLEGRO_INFO("Use of FBO to draw to textures %s.\n", s[ALLEGRO_CAN_DRAW_INTO_BITMAP] ? "enabled" : "disabled"); #else s[ALLEGRO_CAN_DRAW_INTO_BITMAP] = ext_list->ALLEGRO_GL_EXT_framebuffer_object; ALLEGRO_INFO("Use of FBO to draw to textures %s.\n", s[ALLEGRO_CAN_DRAW_INTO_BITMAP] ? "enabled" : "disabled"); #endif } }