def __init__(self, parent): self.languageui = Gtk.Builder() self.languageui.add_from_file("transmageddon-language-chooser.ui") langscroll = self.languageui.get_object("langscroll") cancelbutton = self.languageui.get_object("cancelbutton") selectbutton = self.languageui.get_object("selectbutton") self.languageui.connect_signals(self) # Initialize User Interface self.langcode=None # this will hold the selected language value store = Gtk.ListStore(str) self.langcodeList=GstTag.tag_get_language_codes() langcontents = [] for item in self.langcodeList: langcontents.append([GstTag.tag_get_language_name(item)]) for act in langcontents: store.append([act[0]]) self.langview = Gtk.TreeView(store) self.langview.set_reorderable(False) self.langview.set_headers_visible(False) langscroll.add(self.langview) self.create_columns(self.langview) self.languagewindow = self.languageui.get_object("languageui") self.languagewindow.set_modal(True) self.languagewindow.set_transient_for(parent) self.languagewindow.show_all()
def __init__(self, parent): self.languageui = Gtk.Builder() self.languageui.add_from_file("transmageddon-language-chooser.ui") langscroll = self.languageui.get_object("langscroll") cancelbutton = self.languageui.get_object("cancelbutton") selectbutton = self.languageui.get_object("selectbutton") self.languageui.connect_signals(self) # Initialize User Interface self.langcode = None # this will hold the selected language value store = Gtk.ListStore(str) self.langcodeList = GstTag.tag_get_language_codes() langcontents = [] for item in self.langcodeList: langcontents.append([GstTag.tag_get_language_name(item)]) for act in langcontents: store.append([act[0]]) self.langview = Gtk.TreeView(store) self.langview.set_reorderable(False) self.langview.set_headers_visible(False) langscroll.add(self.langview) self.create_columns(self.langview) self.languagewindow = self.languageui.get_object("languageui") self.languagewindow.set_modal(True) self.languagewindow.set_transient_for(parent) self.languagewindow.show_all()
def _parse_tags(self, trackname): count = self._element.get_property('n-%s' % trackname) for index in range(count): tags = self._element.emit('get-%s-tags' % trackname, index) if tags is not None: for tagidx in range(tags.n_tags()): name = tags.nth_tag_name(tagidx) if name == 'language-code': code = tags.get_string(name)[1] lang = GstTag.tag_get_language_name(code) yield StreamTrack(index, lang or code) break
def _update_languages_menu(self): """Update the audio language selection menu.""" menu = self.get_menubar_section("audio-languages-placeholder") menu.remove_all() tracks = self.player.get_audio_infos() for i, track in enumerate(tracks): title = track.title or _("Track {:d}").format(i + 1) lang = None if track.language_code is not None: lang = GstTag.tag_get_language_name(track.language_code) if lang is None: lang = track.language_name name = title if lang is None else "{} - [{}]".format( title, lang.title()) action = "win.set-audio-language::{:d}".format(i) menu.append(name, action) if i == self.player.audio_track: action = self.get_action("set-audio-language") action.set_state(str(i))
def __init__(self, parent, DVDDEVICE): self.dvdpickui = Gtk.Builder() self.dvdpickui.add_from_file("transmageddon-dvdtrack-chooser.ui") dvdscroll = self.dvdpickui.get_object("dvdscroll") cancelbutton = self.dvdpickui.get_object("cancelbutton") selectbutton = self.dvdpickui.get_object("selectbutton") self.cachedir=GLib.get_user_cache_dir()+"/transmageddon" CheckDir = os.path.isdir(self.cachedir) if CheckDir == (False): os.mkdir(self.cachedir) sys.path.append(self.cachedir) self.dvdpickui.connect_signals(self) # Initialize User Interface self.dvdtrack=None # this will hold the selected DVD track value self.isdvd=False self.dvdtitle=False self.dvdpath=DVDDEVICE store = Gtk.ListStore(str, int) # use lsdvd tool to get DVD track information self.Title = False self.Tracks = False self.dvdread(self.dvdpath) scounter=0 longesttime = 0 self.listoftracks=[] languages=[] while scounter < len(self.Tracks): tcounter=0 language="" langcodes=[] self.ix=int(self.Tracks[scounter]['ix']) while tcounter < len(self.Tracks[scounter]['audio']): if self.Tracks[scounter]['audio']: if GstTag.tag_check_language_code(self.Tracks[scounter]['audio'][tcounter]['langcode']): if self.Tracks[scounter]['audio'][tcounter]['langcode'] not in langcodes: langcodes.append(self.Tracks[scounter]['audio'][tcounter]['langcode']) language=language + GstTag.tag_get_language_name(self.Tracks[scounter]['audio'][tcounter]['langcode']) + ", " tcounter=tcounter+1 languages.append(language) # create a string to push into the listview self.listoftracks.append(_("Title:") + " " + str(scounter) + ", " + _("Languages:") + " " + languages[scounter] + " " + _("Length:") + " " + str(round((self.Tracks[scounter]['length']/60), 2)) + " " + _("Minutes")) scounter=scounter+1 x=1 for act in self.listoftracks: store.append([act,x]) x=x+1 self.dvdtrackview = Gtk.TreeView(store) self.dvdtrackview.set_reorderable(False) self.dvdtrackview.set_headers_visible(False) dvdscroll.add(self.dvdtrackview) self.create_columns(self.dvdtrackview) self.dvdwindow = self.dvdpickui.get_object("dvdpickui") self.dvdwindow.set_modal(True) self.dvdwindow.set_transient_for(parent) self.dvdwindow.show_all()
def __init__(self, parent, DVDDEVICE): self.dvdpickui = Gtk.Builder() self.dvdpickui.add_from_file("transmageddon-dvdtrack-chooser.ui") dvdscroll = self.dvdpickui.get_object("dvdscroll") cancelbutton = self.dvdpickui.get_object("cancelbutton") selectbutton = self.dvdpickui.get_object("selectbutton") self.cachedir = GLib.get_user_cache_dir() + "/transmageddon" CheckDir = os.path.isdir(self.cachedir) if CheckDir == (False): os.mkdir(self.cachedir) sys.path.append(self.cachedir) self.dvdpickui.connect_signals(self) # Initialize User Interface self.dvdtrack = None # this will hold the selected DVD track value self.isdvd = False self.dvdtitle = False self.dvdpath = DVDDEVICE store = Gtk.ListStore(str, int) # use lsdvd tool to get DVD track information self.Title = False self.Tracks = False self.dvdread(self.dvdpath) scounter = 0 longesttime = 0 self.listoftracks = [] languages = [] while scounter < len(self.Tracks): tcounter = 0 language = "" langcodes = [] self.ix = int(self.Tracks[scounter]['ix']) while tcounter < len(self.Tracks[scounter]['audio']): if self.Tracks[scounter]['audio']: if GstTag.tag_check_language_code( self.Tracks[scounter]['audio'][tcounter] ['langcode']): if self.Tracks[scounter]['audio'][tcounter][ 'langcode'] not in langcodes: langcodes.append(self.Tracks[scounter]['audio'] [tcounter]['langcode']) language = language + GstTag.tag_get_language_name( self.Tracks[scounter]['audio'][tcounter] ['langcode']) + ", " tcounter = tcounter + 1 languages.append(language) # create a string to push into the listview minutes = round((self.Tracks[scounter]['length'] / 60), 2) self.listoftracks.append( _("Title:") + " " + str(scounter) + ", " + _("Languages:") + " " + languages[scounter] + " " + _("Length:") + " " + str(minutes) + " " + gettext.ngettext("Minute", "Minutes", minutes)) scounter = scounter + 1 x = 1 for act in self.listoftracks: store.append([act, x]) x = x + 1 self.dvdtrackview = Gtk.TreeView(store) self.dvdtrackview.set_reorderable(False) self.dvdtrackview.set_headers_visible(False) dvdscroll.add(self.dvdtrackview) self.create_columns(self.dvdtrackview) self.dvdwindow = self.dvdpickui.get_object("dvdpickui") self.dvdwindow.set_modal(True) self.dvdwindow.set_transient_for(parent) self.dvdwindow.show_all()