コード例 #1
0
   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()
コード例 #2
0
    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()
コード例 #3
0
 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
コード例 #4
0
ファイル: video.py プロジェクト: sbraz/gaupol
 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))
コード例 #5
0
   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()
コード例 #6
0
ファイル: gst.py プロジェクト: tari01/odio
    def onEos(self, pElement, pMessage):

        super().onEos(pElement, pMessage)

        if self.sOperation == 'replay-gain':

            self.nOperation = 1
            self.sOperation = 'encode'

            for sKey in ['track-number', 'track-count', 'album-disc-number', 'album-disc-count', 'date', 'image']:

                if sKey in self.dTags:

                    if self.dTags[sKey]:

                        if sKey == 'track-number':

                            self.dTags[sKey] = GObject.Value(GObject.TYPE_UINT, int(self.dTags[sKey]))

                        elif sKey == 'track-count':

                            self.dTags[sKey] = GObject.Value(GObject.TYPE_UINT, int(self.dTags[sKey]))

                        elif sKey == 'album-disc-number':

                            self.dTags[sKey] = GObject.Value(GObject.TYPE_UINT, int(self.dTags[sKey]))

                        elif sKey == 'album-disc-count':

                            self.dTags[sKey] = GObject.Value(GObject.TYPE_UINT, int(self.dTags[sKey]))

                        elif sKey == 'date':

                            self.dTags['extended-comment'] = 'DATE=' + self.dTags[sKey]
                            self.dTags[sKey] = GLib.Date.new_dmy(1, 1, int(self.dTags[sKey]))

                        elif sKey == 'image':

                            with open(self.dTags[sKey], 'rb') as pFile:

                                self.dTags[sKey] = pFile.read()

                            self.dTags[sKey] = GstTag.tag_image_data_to_image_sample(self.dTags[sKey], GstTag.TagImageType.FRONT_COVER)

                    else:

                        del self.dTags[sKey]

            self.dTags['replaygain-reference-level'] = 89.0

            if self.sEncoder == 'flac':

                self.init('filesrc location="' + escape(self.sPathIn) + '" ! decodebin ! audioconvert ! audio/x-raw, channels=(int)' + self.sChannels + ' ! flacenc name=enc quality=8 ! filesink location="' + escape(self.sPathTmp) + '"', self.dTags)
                self.play()

            else:

                self.pProc = subprocess.Popen('neroAacEnc -if "' + escape(self.sPathIn) + '" -of "' + escape(self.sPathTmp) + '" -q 1.0 ', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, universal_newlines = True)
                self.sOperation = 'nero-encode'

        elif self.sOperation == 'encode' or self.sOperation == 'nero-tag':

            if self.sOperation == 'nero-tag':

                shutil.move(self.sPathTmp.replace('m4a', 'tmp.m4a'), self.sPathTmp)

                pMp4 = MP4(self.sPathTmp)
                pMp4['----:com.apple.iTunes:replaygain_track_gain'] = str(round(self.dTags['replaygain-track-gain'], 2)).encode()
                pMp4['----:com.apple.iTunes:replaygain_track_peak'] = str(round(self.dTags['replaygain-track-peak'], 6)).encode()
                pMp4.save()

            shutil.move(self.sPathTmp, self.sPathOut)

            self.nState = GstState.DONE

            GLib.idle_add(self.pCallback, self.pParam)
コード例 #7
0
    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()