def launch_tool_window(): # This is single instance tool if _window != None: return global _animation_instance _animation_instance = natronanimations.get_default_animation_instance( ) # This duck types for mltfilters.FilterObject global _window _window = NatronAnimatationsToolWindow()
def main(root_path, force_launch=False): gtk_version = "%s.%s.%s" % (Gtk.get_major_version(), Gtk.get_minor_version(), Gtk.get_micro_version()) editorstate.gtk_version = gtk_version try: editorstate.mlt_version = mlt.LIBMLT_VERSION except: editorstate.mlt_version = "0.0.99" # magic string for "not found" global _session_id _session_id = md5.new(os.urandom(16)).hexdigest() # Set paths. respaths.set_paths(root_path) # Init session folders if os.path.exists(get_session_folder()): shutil.rmtree(get_session_folder()) os.mkdir(get_session_folder()) # Load editor prefs and list of recent projects editorpersistance.load() # Init translations module with translations data translations.init_languages() translations.load_filters_translations() mlttransitions.init_module() # Load aniamtions data natronanimations.load_animations_projects_xml() # Init gtk threads Gdk.threads_init() Gdk.threads_enter() # Set monitor sizes """ scr_w = Gdk.Screen.width() scr_h = Gdk.Screen.height() editorstate.SCREEN_WIDTH = scr_w editorstate.SCREEN_HEIGHT = scr_h if editorstate.screen_size_large_height() == True and editorstate.screen_size_small_width() == False: global MONITOR_WIDTH, MONITOR_HEIGHT MONITOR_WIDTH = 650 MONITOR_HEIGHT = 400 # initial value, this gets changed when material is loaded """ # Request dark theme if so desired if editorpersistance.prefs.theme != appconsts.LIGHT_THEME: Gtk.Settings.get_default().set_property("gtk-application-prefer-dark-theme", True) if editorpersistance.prefs.theme == appconsts.FLOWBLADE_THEME: gui.apply_gtk_css() # We need mlt fpr profiles handling repo = mlt.Factory().init() processutils.prepare_mlt_repo(repo) # Set numeric locale to use "." as radix, MLT initilizes this to OS locale and this causes bugs locale.setlocale(locale.LC_NUMERIC, 'C') # Check for codecs and formats on the system mltenv.check_available_features(repo) renderconsumer.load_render_profiles() # Load filter and compositor descriptions from xml files. mltfilters.load_filters_xml(mltenv.services) mlttransitions.load_compositors_xml(mltenv.transitions) # Create list of available mlt profiles mltprofiles.load_profile_list() gui.load_current_colors() # Set launch profile profile_name = sys.argv[1].replace("_", " ") # we had underscores put in to pass as single arg print profile_name global _profile _profile = mltprofiles.get_profile(profile_name) global _animation_instance _animation_instance = natronanimations.get_default_animation_instance(_profile) global _window _window = NatronAnimatationsToolWindow() _window.pos_bar.set_dark_bg_color() Gtk.main() Gdk.threads_leave()
def main(root_path, force_launch=False): gtk_version = "%s.%s.%s" % (Gtk.get_major_version(), Gtk.get_minor_version(), Gtk.get_micro_version()) editorstate.gtk_version = gtk_version try: editorstate.mlt_version = mlt.LIBMLT_VERSION except: editorstate.mlt_version = "0.0.99" # magic string for "not found" global _session_id _session_id = md5.new(os.urandom(16)).hexdigest() # Set paths. respaths.set_paths(root_path) # Init session folders if os.path.exists(get_session_folder()): shutil.rmtree(get_session_folder()) os.mkdir(get_session_folder()) # Load editor prefs and list of recent projects editorpersistance.load() # Init translations module with translations data translations.init_languages() translations.load_filters_translations() mlttransitions.init_module() # Load aniamtions data natronanimations.load_animations_projects_xml() # Init gtk threads Gdk.threads_init() Gdk.threads_enter() # Set monitor sizes """ scr_w = Gdk.Screen.width() scr_h = Gdk.Screen.height() editorstate.SCREEN_WIDTH = scr_w editorstate.SCREEN_HEIGHT = scr_h if editorstate.screen_size_large_height() == True and editorstate.screen_size_small_width() == False: global MONITOR_WIDTH, MONITOR_HEIGHT MONITOR_WIDTH = 650 MONITOR_HEIGHT = 400 # initial value, this gets changed when material is loaded """ # Request dark theme if so desired if editorpersistance.prefs.theme != appconsts.LIGHT_THEME: Gtk.Settings.get_default().set_property("gtk-application-prefer-dark-theme", True) if editorpersistance.prefs.theme == appconsts.FLOWBLADE_THEME: gui.apply_gtk_css() # We need mlt fpr profiles handling repo = mlt.Factory().init() # Set numeric locale to use "." as radix, MLT initilizes this to OS locale and this causes bugs locale.setlocale(locale.LC_NUMERIC, 'C') # Check for codecs and formats on the system mltenv.check_available_features(repo) renderconsumer.load_render_profiles() # Load filter and compositor descriptions from xml files. mltfilters.load_filters_xml(mltenv.services) mlttransitions.load_compositors_xml(mltenv.transitions) # Create list of available mlt profiles mltprofiles.load_profile_list() gui.load_current_colors() # Set launch profile profile_name = sys.argv[1].replace("_", " ") # we had underscores put in to pass as single arg print profile_name global _profile _profile = mltprofiles.get_profile(profile_name) global _animation_instance _animation_instance = natronanimations.get_default_animation_instance(_profile) global _window _window = NatronAnimatationsToolWindow() _window.pos_bar.set_dark_bg_color() Gtk.main() Gdk.threads_leave()