Compare commits

...

18 Commits

Author SHA1 Message Date
a8f7477a1f new snapshot 2016-02-02 09:38:43 -06:00
9b6461e34e Updated translations 2016-02-02 09:37:06 -06:00
eed3f81cb8 Added a changelog html file 2016-02-02 09:30:13 -06:00
e605c750b1 Spell checker: Now it should work with the default language setting 2016-02-02 09:29:35 -06:00
f49be6cfed Merge branch 'next-gen' of https://github.com/manuelcortez/TWBlue into next-gen 2016-02-02 09:09:56 -06:00
696faed007 Fixed a bug in the spell checker 2016-02-02 09:07:40 -06:00
Jose Manuel Delicado
46b46c4d6d Some important code fixes 2016-01-30 17:14:41 +01:00
Jose Manuel Delicado
9cdccca5ff Updated Windows dependencies with the new pa.c installer 3.1.1 2016-01-21 14:00:21 +01:00
Jose Manuel Delicado
564bee3850 Updated Windows dependencies. Updated readme with information about the new pywin32 and pycurl releases 2016-01-20 20:52:44 +01:00
Jose Manuel Delicado
79e723f740 Updated windows dependencies. Run git submodule update. 2016-01-20 20:28:54 +01:00
Jose Manuel Delicado
08a2eca98d Main.py: check if Uninstall.exe exists before importing commandline and other modules 2016-01-20 09:18:27 +01:00
Jose Manuel Delicado
c830d4b5b4 The -i and -p switches aren't required anymore on installed and portable versions 2016-01-19 19:52:09 +01:00
112391afeb Merge pull request #68 from masonasons/next-gen
Trimmed the sounds in the soundpack.
2016-01-11 13:41:06 -06:00
masonasons
39e0431b97 Trimmed the beginnings of the sounds in the Default soundpack 2016-01-09 01:01:20 -06:00
071d75926b Opus support for TWBlue. Code by @masonasons 2016-01-09 00:46:33 -06:00
56b64e5c6d Added source in view tweet dialogue. @masonasons 2016-01-09 00:45:52 -06:00
b8cfd60c9e bugfix 2016-01-09 00:25:28 -06:00
691a9ae17d Fixed remove_buffer and load_previous_items for friends and users timelines 2015-12-29 08:31:13 -06:00
68 changed files with 452 additions and 418 deletions

View File

@@ -35,8 +35,8 @@ Although most dependencies can be found in the windows-dependencies directory, w
* [Python,](http://python.org) version 2.7.11 * [Python,](http://python.org) version 2.7.11
If you want to build both x86 and x64 binaries, you can install python x86 to C:\python27 and python x64 to C:\python27x64, for example. If you want to build both x86 and x64 binaries, you can install python x86 to C:\python27 and python x64 to C:\python27x64, for example.
* [wxPython](http://www.wxpython.org) for Python 2.7, version 3.0.2.0 * [wxPython](http://www.wxpython.org) for Python 2.7, version 3.0.2.0
* [Python windows extensions (pywin32)](http://www.sourceforge.net/projects/pywin32/) for python 2.7, build 219 * [Python windows extensions (pywin32)](http://www.sourceforge.net/projects/pywin32/) for python 2.7, build 220
* [Pycurl](http://pycurl.sourceforge.net) 7.19.5.3 for Python 2.7: [downloads](https://pypi.python.org/pypi/pycurl/7.19.5.3) * [Pycurl](http://pycurl.sourceforge.net) 7.21.5 for Python 2.7: [downloads](https://pypi.python.org/pypi/pycurl/7.21.5)
* [PyEnchant,](http://pythonhosted.org/pyenchant/) version 1.6.6. * [PyEnchant,](http://pythonhosted.org/pyenchant/) version 1.6.6.
x64 version has been built by TWBlue developers, so you only will find it in windows-dependencies folder x64 version has been built by TWBlue developers, so you only will find it in windows-dependencies folder

View File

@@ -1,7 +1,7 @@
[Launch] [Launch]
ProgramExecutable=TWBlue\TWBlue.exe ProgramExecutable=TWBlue\TWBlue.exe
ProgramExecutable64=TWBlue64\TWBlue.exe ProgramExecutable64=TWBlue64\TWBlue.exe
CommandLineArguments=-p -d "%PAL:DataDir%" CommandLineArguments=-d "%PAL:DataDir%"
SinglePortableAppInstance=true SinglePortableAppInstance=true
MinOS=XP MinOS=XP
SingleAppInstance=false SingleAppInstance=false

View File

@@ -26,7 +26,6 @@ var StartMenuFolder
!define MUI_FINISHPAGE_LINK "Visit TWBlue website" !define MUI_FINISHPAGE_LINK "Visit TWBlue website"
!define MUI_FINISHPAGE_LINK_LOCATION "http://twblue.es" !define MUI_FINISHPAGE_LINK_LOCATION "http://twblue.es"
!define MUI_FINISHPAGE_RUN "$INSTDIR\TWBlue.exe" !define MUI_FINISHPAGE_RUN "$INSTDIR\TWBlue.exe"
!define MUI_FINISHPAGE_RUN_PARAMETERS "-i"
!insertmacro MUI_PAGE_FINISH !insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES !insertmacro MUI_UNPAGE_INSTFILES
@@ -58,10 +57,10 @@ File /r TWBlue64\*
${Else} ${Else}
File /r TWBlue\* File /r TWBlue\*
${EndIf} ${EndIf}
CreateShortCut "$DESKTOP\TWBlue.lnk" "$INSTDIR\TWBlue.exe" "-i" CreateShortCut "$DESKTOP\TWBlue.lnk" "$INSTDIR\TWBlue.exe"
!insertmacro MUI_STARTMENU_WRITE_BEGIN startmenu !insertmacro MUI_STARTMENU_WRITE_BEGIN startmenu
CreateDirectory "$SMPROGRAMS\$StartMenuFolder" CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\TWBlue.lnk" "$INSTDIR\TWBlue.exe" "-i" CreateShortCut "$SMPROGRAMS\$StartMenuFolder\TWBlue.lnk" "$INSTDIR\TWBlue.exe"
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\TWBlue on the web.lnk" "http://twblue.es" CreateShortCut "$SMPROGRAMS\$StartMenuFolder\TWBlue on the web.lnk" "http://twblue.es"
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe" CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
!insertmacro MUI_STARTMENU_WRITE_END !insertmacro MUI_STARTMENU_WRITE_END

View File

@@ -5,7 +5,7 @@ if snapshot == False:
version = "0.80" version = "0.80"
update_url = 'http://twblue.es/updates/twblue_ngen.json' update_url = 'http://twblue.es/updates/twblue_ngen.json'
else: else:
version = "10.98" version = "10.99"
update_url = 'http://twblue.es/updates/snapshots_ngen.json' update_url = 'http://twblue.es/updates/snapshots_ngen.json'
author = u"Manuel Cortéz" author = u"Manuel Cortéz"
authorEmail = "manuel@manuelcortez.net" authorEmail = "manuel@manuelcortez.net"

View File

@@ -6,13 +6,7 @@ import application
log = logging.getLogger("commandlineLauncher") log = logging.getLogger("commandlineLauncher")
parser = argparse.ArgumentParser(description=application.name+" command line launcher") parser = argparse.ArgumentParser(description=application.name+" command line launcher")
group = parser.add_mutually_exclusive_group()
group.add_argument("-p", "--portable", help="Use " + application.name + " as a portable application.", action="store_true", default=True)
group.add_argument("-i", "--installed", help="Use " + application.name + " as an installed application. Config files will be saved in the user data directory", action="store_true")
parser.add_argument("-d", "--data-directory", action="store", dest="directory", help="Specifies the directory where " + application.name + " saves userdata.") parser.add_argument("-d", "--data-directory", action="store", dest="directory", help="Specifies the directory where " + application.name + " saves userdata.")
args = parser.parse_args() args = parser.parse_args()
log.debug("Starting " + application.name + " with the following arguments: installed = %s, portable = %s and directory = %s" % (args.installed, args.portable, args.directory)) log.debug("Starting " + application.name + " with the following arguments: directory = %s" % (args.directory))
if args.installed == True: paths.mode = "installed" if args.directory != None: paths.directory = args.directory
elif args.portable == True:
paths.mode = "portable"
if args.directory != None: paths.directory = args.directory

View File

@@ -742,7 +742,7 @@ class peopleBufferController(baseBufferController):
dlg = commonMessageDialogs.remove_buffer() dlg = commonMessageDialogs.remove_buffer()
if dlg == widgetUtils.YES: if dlg == widgetUtils.YES:
if self.name[:-8] in self.session.settings["other_buffers"]["friends_timelines"]: if self.name[:-8] in self.session.settings["other_buffers"]["friends_timelines"]:
self.session.settings["other_buffers"]["friends_timelines"].remove(self.name[:-9]) self.session.settings["other_buffers"]["friends_timelines"].remove(self.name[:-8])
return True return True
elif dlg == widgetUtils.NO: elif dlg == widgetUtils.NO:
return False return False
@@ -783,7 +783,7 @@ class peopleBufferController(baseBufferController):
def get_more_items(self): def get_more_items(self):
try: try:
items = self.session.get_more_items(self.function, users=True, name=self.name, count=self.session.settings["general"]["max_tweets_per_call"], cursor=self.session.db[self.name]["cursor"]) items = self.session.get_more_items(self.function, users=True, name=self.name, count=self.session.settings["general"]["max_tweets_per_call"], cursor=self.session.db[self.name]["cursor"], *self.args, **self.kwargs)
except TwythonError as e: except TwythonError as e:
output.speak(e.message, True) output.speak(e.message, True)
return return
@@ -1088,7 +1088,7 @@ class conversationBufferController(searchBufferController):
if dlg == widgetUtils.YES: if dlg == widgetUtils.YES:
self.timer.cancel() self.timer.cancel()
return True return True
elif dlg == WidgetUtils.NO: elif dlg == widgetUtils.NO:
return False return False
class pocketBufferController(baseBufferController): class pocketBufferController(baseBufferController):

View File

@@ -178,6 +178,7 @@ class Controller(object):
widgetUtils.connect_event(self.view.nb, widgetUtils.NOTEBOOK_PAGE_CHANGED, self.buffer_changed) widgetUtils.connect_event(self.view.nb, widgetUtils.NOTEBOOK_PAGE_CHANGED, self.buffer_changed)
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.report_error, self.view.reportError) widgetUtils.connect_event(self.view, widgetUtils.MENU, self.report_error, self.view.reportError)
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.view_documentation, self.view.doc) widgetUtils.connect_event(self.view, widgetUtils.MENU, self.view_documentation, self.view.doc)
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.view_changelog, self.view.changelog)
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.add_to_list, self.view.addToList) widgetUtils.connect_event(self.view, widgetUtils.MENU, self.add_to_list, self.view.addToList)
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.remove_from_list, self.view.removeFromList) widgetUtils.connect_event(self.view, widgetUtils.MENU, self.remove_from_list, self.view.removeFromList)
widgetUtils.connect_event(self.view, widgetUtils.MENU, self.update_buffer, self.view.update_buffer) widgetUtils.connect_event(self.view, widgetUtils.MENU, self.update_buffer, self.view.update_buffer)
@@ -357,7 +358,7 @@ class Controller(object):
tl.timer.start() tl.timer.start()
friends_timelines = buffersController.emptyPanel(self.view.nb, "friends_timelines", session.db["user_name"]) friends_timelines = buffersController.emptyPanel(self.view.nb, "friends_timelines", session.db["user_name"])
self.buffers.append(friends_timelines) self.buffers.append(friends_timelines)
self.view.insert_buffer(friends_timelines.buffer , name=_(u"Followers' Timelines"), pos=self.view.search(session.db["user_name"], session.db["user_name"])) self.view.insert_buffer(friends_timelines.buffer , name=_(u"Friends' Timelines"), pos=self.view.search(session.db["user_name"], session.db["user_name"]))
for i in session.settings["other_buffers"]["friends_timelines"]: for i in session.settings["other_buffers"]["friends_timelines"]:
tl = buffersController.peopleBufferController(self.view.nb, "get_friends_list", "%s-friends" % (i,), session, session.db["user_name"], screen_name=i) tl = buffersController.peopleBufferController(self.view.nb, "get_friends_list", "%s-friends" % (i,), session, session.db["user_name"], screen_name=i)
self.buffers.append(tl) self.buffers.append(tl)
@@ -1447,6 +1448,11 @@ class Controller(object):
webbrowser.open("manual.html") webbrowser.open("manual.html")
os.chdir("../../") os.chdir("../../")
def view_changelog(self, *args, **kwargs):
os.chdir("documentation")
webbrowser.open("changelog.html")
os.chdir("../")
def insert_buffer(self, buffer, position): def insert_buffer(self, buffer, position):
self.buffers.insert(position, buffer) self.buffers.insert(position, buffer)

View File

@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import re
import platform import platform
system = platform.system() system = platform.system()
import widgetUtils import widgetUtils
@@ -173,13 +174,14 @@ class viewTweet(basicTweet):
text = text + "@%s: %s\n" % (tweetList[i]["user"]["screen_name"], tweetList[i]["text"]) text = text + "@%s: %s\n" % (tweetList[i]["user"]["screen_name"], tweetList[i]["text"])
rt_count = str(tweet["retweet_count"]) rt_count = str(tweet["retweet_count"])
favs_count = str(tweet["favorite_count"]) favs_count = str(tweet["favorite_count"])
source = str(re.sub(r"(?s)<.*?>", "", tweet["source"]))
if text == "": if text == "":
if tweet.has_key("retweeted_status"): if tweet.has_key("retweeted_status"):
text = "rt @%s: %s" % (tweet["retweeted_status"]["user"]["screen_name"], tweet["retweeted_status"]["text"]) text = "rt @%s: %s" % (tweet["retweeted_status"]["user"]["screen_name"], tweet["retweeted_status"]["text"])
else: else:
text = tweet["text"] text = tweet["text"]
text = self.clear_text(text) text = self.clear_text(text)
self.message = message.viewTweet(text, rt_count, favs_count) self.message = message.viewTweet(text, rt_count, favs_count,source)
self.message.set_title(len(text)) self.message.set_title(len(text))
else: else:
text = tweet text = tweet

View File

@@ -261,24 +261,24 @@ class accountSettingsController(globalSettingsController):
if change == True: if change == True:
self.dialog.buffers.change_selected_item() self.dialog.buffers.change_selected_item()
def manage_pocket(self, *args, **kwargs): # def manage_pocket(self, *args, **kwargs):
if self.dialog.services.get_pocket_status() == _(u"Connect your Pocket account"): # if self.dialog.services.get_pocket_status() == _(u"Connect your Pocket account"):
self.connect_pocket() # self.connect_pocket()
else: # else:
self.disconnect_pocket() # self.disconnect_pocket()
def connect_pocket(self): # def connect_pocket(self):
dlg = self.dialog.services.show_pocket_dialog() # dlg = self.dialog.services.show_pocket_dialog()
if dlg == widgetUtils.YES: # if dlg == widgetUtils.YES:
request_token = pocket.Pocket.get_request_token(consumer_key=keys.keyring.get("pocket_consumer_key"), redirect_uri="http://127.0.0.1:8080") # request_token = pocket.Pocket.get_request_token(consumer_key=keys.keyring.get("pocket_consumer_key"), redirect_uri="http://127.0.0.1:8080")
auth_url = pocket.Pocket.get_auth_url(code=request_token, redirect_uri="http://127.0.0.1:8080") # auth_url = pocket.Pocket.get_auth_url(code=request_token, redirect_uri="http://127.0.0.1:8080")
webbrowser.open_new_tab(auth_url) # webbrowser.open_new_tab(auth_url)
httpd = BaseHTTPServer.HTTPServer(('127.0.0.1', 8080), authorisationHandler.handler) # httpd = BaseHTTPServer.HTTPServer(('127.0.0.1', 8080), authorisationHandler.handler)
while authorisationHandler.logged == False: # while authorisationHandler.logged == False:
httpd.handle_request() # httpd.handle_request()
user_credentials = pocket.Pocket.get_credentials(consumer_key=keys.keyring.get("pocket_consumer_key"), code=request_token) # user_credentials = pocket.Pocket.get_credentials(consumer_key=keys.keyring.get("pocket_consumer_key"), code=request_token)
self.dialog.services.set_pocket(True) # self.dialog.services.set_pocket(True)
self.config["services"]["pocket_access_token"] = user_credentials["access_token"] # self.config["services"]["pocket_access_token"] = user_credentials["access_token"]
def disconnect_dropbox(self): def disconnect_dropbox(self):
self.config["services"]["pocket_access_token"] = "" self.config["services"]["pocket_access_token"] = ""

View File

@@ -32,7 +32,7 @@ def load_library(library, x86_path='.', x64_path='.', *args, **kwargs):
loaded = _do_load(lib, *args, **kwargs) loaded = _do_load(lib, *args, **kwargs)
if loaded is not None: if loaded is not None:
return loaded return loaded
raise LibraryLoadError('unable to load %r. Provided library path: %r' % (library, path)) raise LibraryLoadError('unable to load %r. Provided library path: %r' % (library, lib))
def _do_load(file, *args, **kwargs): def _do_load(file, *args, **kwargs):
loader = TYPES[platform.system()]['loader'] loader = TYPES[platform.system()]['loader']

Binary file not shown.

View File

@@ -1,9 +1,9 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: TW Blue 0.80\n" "Project-Id-Version: TW Blue 0.80\n"
"POT-Creation-Date: 2015-11-06 08:10+Hora estndar central (Mxico)\n" "POT-Creation-Date: 2016-01-19 12:41+0100\n"
"PO-Revision-Date: 2015-10-03 13:03+0200\n" "PO-Revision-Date: 2016-01-19 12:41+0100\n"
"Last-Translator: José Manuel Delicado Alcolea <jmdaweb@hotmail.com>\n" "Last-Translator: Sukil Etxenike <sukiletxe@yahoo.es>\n"
"Language-Team: Sukil Etxenike Arizaleta <sukiletxe@yahoo.es>\n" "Language-Team: Sukil Etxenike Arizaleta <sukiletxe@yahoo.es>\n"
"Language: eu\n" "Language: eu\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -116,7 +116,7 @@ msgstr "Bidalitako txioak"
#: ../src\controller\mainController.py:1277 #: ../src\controller\mainController.py:1277
#: ../src\wxUI\dialogs\userSelection.py:20 #: ../src\wxUI\dialogs\userSelection.py:20
msgid "Likes" msgid "Likes"
msgstr "" msgstr "Gustukoak"
#: ../src\controller\mainController.py:314 #: ../src\controller\mainController.py:314
#: ../src\controller\mainController.py:1282 #: ../src\controller\mainController.py:1282
@@ -153,15 +153,13 @@ msgid "Timeline for {}"
msgstr "{}(r)en denbora lerroa" msgstr "{}(r)en denbora lerroa"
#: ../src\controller\mainController.py:340 #: ../src\controller\mainController.py:340
#, fuzzy
msgid "Likes timelines" msgid "Likes timelines"
msgstr "Gogokoen denbora lerroa" msgstr "Gustukoen denbora lerroa"
#: ../src\controller\mainController.py:344 #: ../src\controller\mainController.py:344
#: ../src\controller\mainController.py:789 #: ../src\controller\mainController.py:789
#, fuzzy
msgid "Likes for {}" msgid "Likes for {}"
msgstr "{}(r)en zerrrenda" msgstr "{}(r)en gustukoak"
#: ../src\controller\mainController.py:349 ../src\wxUI\dialogs\lists.py:12 #: ../src\controller\mainController.py:349 ../src\wxUI\dialogs\lists.py:12
msgid "Lists" msgid "Lists"
@@ -421,9 +419,8 @@ msgid "Tweets: %s\n"
msgstr "Txioak: %s\n" msgstr "Txioak: %s\n"
#: ../src\controller\user.py:98 #: ../src\controller\user.py:98
#, fuzzy
msgid "Likes: %s" msgid "Likes: %s"
msgstr "Gogokoak: %s" msgstr "Gustukoak: %s"
#: ../src\controller\userActionsController.py:75 #: ../src\controller\userActionsController.py:75
msgid "You can't ignore direct messages" msgid "You can't ignore direct messages"
@@ -594,14 +591,12 @@ msgid "Error."
msgstr "Errorea." msgstr "Errorea."
#: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:10 #: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:10
#, fuzzy
msgid "Tweet liked." msgid "Tweet liked."
msgstr "Txio bat jaso da" msgstr "Txio bat gustukoetara gehitu da"
#: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:11 #: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:11
#, fuzzy
msgid "Likes buffer updated." msgid "Likes buffer updated."
msgstr "Gogokoen bufferra eguneratu da." msgstr "Gustukoen bufferra eguneratu da."
#: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:12 #: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:12
msgid "Geotweet." msgid "Geotweet."
@@ -816,7 +811,6 @@ msgid "{0}'s database of users has been updated."
msgstr "{0}-ren erabiltzaileen datu-basea eguneratua izan da." msgstr "{0}-ren erabiltzaileen datu-basea eguneratua izan da."
#: ../src\extra\translator\translator.py:124 #: ../src\extra\translator\translator.py:124
#, fuzzy
msgid "unavailable" msgid "unavailable"
msgstr "Ez dago erabilgarri" msgstr "Ez dago erabilgarri"
@@ -1378,14 +1372,12 @@ msgid "Send direct message"
msgstr "Zuzeneko mezua bidali" msgstr "Zuzeneko mezua bidali"
#: ../src\keystrokeEditor\constants.py:14 #: ../src\keystrokeEditor\constants.py:14
#, fuzzy
msgid "Like a tweet" msgid "Like a tweet"
msgstr "Txio berri bat" msgstr "Txio bat gustukoetara gehitu"
#: ../src\keystrokeEditor\constants.py:15 #: ../src\keystrokeEditor\constants.py:15
#, fuzzy
msgid "Unlike a tweet" msgid "Unlike a tweet"
msgstr "Txio berri bat" msgstr "Txio bat gustukoetatik kendu"
#: ../src\keystrokeEditor\constants.py:16 #: ../src\keystrokeEditor\constants.py:16
msgid "Open the user actions dialogue" msgid "Open the user actions dialogue"
@@ -1520,25 +1512,24 @@ msgid "View conversation"
msgstr "Elkarrizketa ikusi" msgstr "Elkarrizketa ikusi"
#: ../src\keystrokeEditor\constants.py:49 #: ../src\keystrokeEditor\constants.py:49
#, fuzzy
msgid "Check and download updates" msgid "Check and download updates"
msgstr "E&guneratzeak bilatu" msgstr "Eguneratzeak bilatu eta jaitsi"
#: ../src\keystrokeEditor\constants.py:50 #: ../src\keystrokeEditor\constants.py:50
msgid "" msgid ""
"Opens the list manager, which allows you to create, edit, delete and open " "Opens the list manager, which allows you to create, edit, delete and open "
"lists in buffers." "lists in buffers."
msgstr "" msgstr ""
"Zerrenden kudeatzailea irekitzen du. Kudeatzaileak zerrendak sortzea, "
"editatzea, ezabatzea eta bufferretan irekitzea ahalbidetzen du"
#: ../src\keystrokeEditor\constants.py:51 #: ../src\keystrokeEditor\constants.py:51
#, fuzzy
msgid "Opens the global settings dialogue" msgid "Opens the global settings dialogue"
msgstr "Ekintzen dialogoa ireki" msgstr "Ezarpen globalen elkarrizketa-koadroa ireki"
#: ../src\keystrokeEditor\constants.py:52 #: ../src\keystrokeEditor\constants.py:52
#, fuzzy
msgid "Opens the account settings dialogue" msgid "Opens the account settings dialogue"
msgstr "Ekintzen dialogoa ireki" msgstr "Kontuaren ezarpenen elkarrizketa-koadroa ireki"
#: ../src\keystrokeEditor\wx_ui.py:8 #: ../src\keystrokeEditor\wx_ui.py:8
msgid "Keystroke editor" msgid "Keystroke editor"
@@ -1741,24 +1732,20 @@ msgid "You've unfollowed %s (@%s)"
msgstr "Orain ez duzu %s (@%s) jarraitzen" msgstr "Orain ez duzu %s (@%s) jarraitzen"
#: ../src\twitter\compose.py:126 #: ../src\twitter\compose.py:126
#, fuzzy
msgid "You've liked: %s, %s" msgid "You've liked: %s, %s"
msgstr "%s blokeatu duzu." msgstr "Gustukoetara gehitu duzu: %s, %s"
#: ../src\twitter\compose.py:128 #: ../src\twitter\compose.py:128
#, fuzzy
msgid "%s(@%s) has liked: %s" msgid "%s(@%s) has liked: %s"
msgstr "Orain %s(e)k (@%s) jarraitzen zaitu" msgstr "%s(e)k (@%s) gustukoetara gehitu du: %s"
#: ../src\twitter\compose.py:130 #: ../src\twitter\compose.py:130
#, fuzzy
msgid "You've unliked: %s, %s" msgid "You've unliked: %s, %s"
msgstr "%s desblokeatu duzu" msgstr "Gustukoetatik kendu duzu: %s"
#: ../src\twitter\compose.py:131 #: ../src\twitter\compose.py:131
#, fuzzy
msgid "%s(@%s) has unliked: %s" msgid "%s(@%s) has unliked: %s"
msgstr "Orain %s(e)k (@%s) jarraitzen zaitu" msgstr "%s(e)k (@%s) gustukoetatik kendu du: %s"
#: ../src\twitter\compose.py:133 #: ../src\twitter\compose.py:133
msgid "You've created the list %s" msgid "You've created the list %s"
@@ -2055,13 +2042,12 @@ msgid "Warning"
msgstr "Abisua" msgstr "Abisua"
#: ../src\wxUI\commonMessageDialogs.py:50 #: ../src\wxUI\commonMessageDialogs.py:50
#, fuzzy
msgid "" msgid ""
"This is a protected user account, you need to follow this user to view their " "This is a protected user account, you need to follow this user to view their "
"tweets or likes." "tweets or likes."
msgstr "" msgstr ""
"Kontu hau babestutako erabiltzaile batena da. Kontua jarraitu behar duzu " "Kontu hau babestutako erabiltzaile batena da. Kontua jarraitu behar duzu "
"bere txioak eta gogokoak ikusteko." "bere txioak eta gustukoak ikusteko."
#: ../src\wxUI\commonMessageDialogs.py:53 #: ../src\wxUI\commonMessageDialogs.py:53
msgid "" msgid ""
@@ -2484,7 +2470,7 @@ msgstr "Bertxioak:"
#: ../src\wxUI\dialogs\message.py:268 #: ../src\wxUI\dialogs\message.py:268
msgid "Likes: " msgid "Likes: "
msgstr "" msgstr "Gogokoak:"
#: ../src\wxUI\dialogs\message.py:318 #: ../src\wxUI\dialogs\message.py:318
msgid "View" msgid "View"
@@ -2612,11 +2598,11 @@ msgstr "E&rantzun"
#: ../src\wxUI\menus.py:11 ../src\wxUI\view.py:30 #: ../src\wxUI\menus.py:11 ../src\wxUI\view.py:30
msgid "&Like" msgid "&Like"
msgstr "" msgstr "Gustukoetara &gehitu"
#: ../src\wxUI\menus.py:13 ../src\wxUI\view.py:31 #: ../src\wxUI\menus.py:13 ../src\wxUI\view.py:31
msgid "&Unlike" msgid "&Unlike"
msgstr "" msgstr "Gustukoetatik &kendu"
#: ../src\wxUI\menus.py:15 ../src\wxUI\menus.py:33 ../src\wxUI\menus.py:49 #: ../src\wxUI\menus.py:15 ../src\wxUI\menus.py:33 ../src\wxUI\menus.py:49
msgid "&Open URL" msgid "&Open URL"
@@ -2765,9 +2751,8 @@ msgid "R&emove from list"
msgstr "Zerrendatik &kendu" msgstr "Zerrendatik &kendu"
#: ../src\wxUI\view.py:46 #: ../src\wxUI\view.py:46
#, fuzzy
msgid "V&iew likes" msgid "V&iew likes"
msgstr "&Zerrendak ikusi" msgstr "&Gustukoak ikusi"
#: ../src\wxUI\view.py:50 #: ../src\wxUI\view.py:50
msgid "New &trending topics buffer..." msgid "New &trending topics buffer..."

Binary file not shown.

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: TW Blue 0.80\n" "Project-Id-Version: TW Blue 0.80\n"
"POT-Creation-Date: 2015-11-06 08:10+Hora estndar central (Mxico)\n" "POT-Creation-Date: 2015-11-06 08:10+Hora estndar central (Mxico)\n"
"PO-Revision-Date: 2015-10-03 13:02+0200\n" "PO-Revision-Date: 2015-12-10 13:12+0300\n"
"Last-Translator: José Manuel Delicado Alcolea <jmdaweb@hotmail.com>\n" "Last-Translator: José Manuel Delicado Alcolea <jmdaweb@hotmail.com>\n"
"Language-Team: Mohammed Al Shara <mohammed@atexplorer.com>\n" "Language-Team: Mohammed Al Shara <mohammed@atexplorer.com>\n"
"Language: ar\n" "Language: ar\n"
@@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
"X-Generator: Poedit 1.8.5\n" "X-Generator: Poedit 1.6.11\n"
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"
"X-Poedit-Bookmarks: -1,-1,-1,-1,-1,-1,409,-1,-1,-1\n" "X-Poedit-Bookmarks: -1,-1,-1,-1,-1,-1,409,-1,-1,-1\n"
@@ -123,7 +123,7 @@ msgstr "تغريدة جديدة"
#: ../src\controller\mainController.py:1277 #: ../src\controller\mainController.py:1277
#: ../src\wxUI\dialogs\userSelection.py:20 #: ../src\wxUI\dialogs\userSelection.py:20
msgid "Likes" msgid "Likes"
msgstr "" msgstr "إعجابات"
#: ../src\controller\mainController.py:314 #: ../src\controller\mainController.py:314
#: ../src\controller\mainController.py:1282 #: ../src\controller\mainController.py:1282
@@ -213,7 +213,7 @@ msgstr "إفراغ السياق الزمني"
#: ../src\controller\mainController.py:452 #: ../src\controller\mainController.py:452
msgid "{0} not found." msgid "{0} not found."
msgstr "" msgstr "{0} لم يتم العثور عليه"
#: ../src\controller\mainController.py:485 #: ../src\controller\mainController.py:485
#: ../src\controller\mainController.py:500 #: ../src\controller\mainController.py:500
@@ -223,7 +223,7 @@ msgstr "إختر المستخدم"
#: ../src\controller\mainController.py:808 #: ../src\controller\mainController.py:808
msgid "Conversation with {0}" msgid "Conversation with {0}"
msgstr "" msgstr "محادثة مع {0}"
#: ../src\controller\mainController.py:852 #: ../src\controller\mainController.py:852
#: ../src\controller\mainController.py:871 #: ../src\controller\mainController.py:871
@@ -254,7 +254,7 @@ msgstr "%s فارغة"
#: ../src\controller\mainController.py:1012 #: ../src\controller\mainController.py:1012
msgid "{0}: This account is not logged into Twitter." msgid "{0}: This account is not logged into Twitter."
msgstr "" msgstr "{0}: هذا الحساب لم يقم بتسجيل الدخول لتويتر."
#: ../src\controller\mainController.py:1018 #: ../src\controller\mainController.py:1018
#: ../src\controller\mainController.py:1039 #: ../src\controller\mainController.py:1039
@@ -264,7 +264,7 @@ msgstr "%s, %sالخاصة ب%s"
#: ../src\controller\mainController.py:1033 #: ../src\controller\mainController.py:1033
msgid "{0}: This account is not logged into twitter." msgid "{0}: This account is not logged into twitter."
msgstr "" msgstr "{0}: هذا الحساب لم يقم بتسجيل الدخول لتويتر."
#: ../src\controller\mainController.py:1134 #: ../src\controller\mainController.py:1134
msgid "One mention from %s " msgid "One mention from %s "
@@ -277,7 +277,7 @@ msgstr "تغريدة واحدة من %s"
#: ../src\controller\mainController.py:1307 #: ../src\controller\mainController.py:1307
msgid "This list is already opened" msgid "This list is already opened"
msgstr "" msgstr "هذه القائمة تم فتحها من قبل"
#: ../src\controller\mainController.py:1366 #: ../src\controller\mainController.py:1366
msgid "The auto-reading of new tweets is enabled for this buffer" msgid "The auto-reading of new tweets is enabled for this buffer"
@@ -294,7 +294,7 @@ msgstr "مدير الجلسة"
#: ../src\controller\mainController.py:1378 #: ../src\controller\mainController.py:1378
msgid "Session mute off" msgid "Session mute off"
msgstr "" msgstr "تم إلغائ كتم الجلسة هذه"
#: ../src\controller\mainController.py:1385 #: ../src\controller\mainController.py:1385
msgid "Buffer mute on" msgid "Buffer mute on"
@@ -598,11 +598,11 @@ msgstr "تم إيقاف تشغيل المقطع الصوتي"
#: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:5 #: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:5
msgid "User timeline buffer created." msgid "User timeline buffer created."
msgstr "" msgstr "تم إنشاء صفحة بالسياق الزمني للمستخدم."
#: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:6 #: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:6
msgid "Buffer destroied." msgid "Buffer destroied."
msgstr "" msgstr "تم حذف الصفحة."
#: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:7 #: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:7
#, fuzzy #, fuzzy
@@ -675,7 +675,7 @@ msgstr "لقد قمت بإعادة التغريد"
#: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:21 #: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:21
msgid "Search buffer updated." msgid "Search buffer updated."
msgstr "" msgstr "تم تحديث صفحة البحث."
#: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:22 #: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:22
msgid "Tweet received." msgid "Tweet received."
@@ -688,11 +688,11 @@ msgstr "التغريدات"
#: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:24 #: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:24
msgid "Trending topics buffer updated." msgid "Trending topics buffer updated."
msgstr "" msgstr "تم تحديث صفحة المواضيع المشهورة."
#: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:25 #: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:25
msgid "New tweet in user timeline buffer." msgid "New tweet in user timeline buffer."
msgstr "" msgstr "تغريدة جديدة في صفحة السياق الزمني للمستخدم."
#: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:26 #: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:26
#, fuzzy #, fuzzy
@@ -713,11 +713,11 @@ msgstr "إضغط مفتاح الدخول لسماع الصوت"
#: ../src\extra\SpellChecker\spellchecker.py:45 #: ../src\extra\SpellChecker\spellchecker.py:45
msgid "Misspelled word: %s" msgid "Misspelled word: %s"
msgstr "" msgstr "خطء إملائي في الكلمة: %s"
#: ../src\extra\SpellChecker\wx_ui.py:26 #: ../src\extra\SpellChecker\wx_ui.py:26
msgid "Misspelled word" msgid "Misspelled word"
msgstr "" msgstr "كلمة فيها خطء إملائي"
#: ../src\extra\SpellChecker\wx_ui.py:31 #: ../src\extra\SpellChecker\wx_ui.py:31
msgid "Context" msgid "Context"
@@ -760,7 +760,7 @@ msgstr "خطء"
#: ../src\extra\SpellChecker\wx_ui.py:79 #: ../src\extra\SpellChecker\wx_ui.py:79
msgid "Spell check complete." msgid "Spell check complete."
msgstr "" msgstr "تم إنهاء التدقيق الإملائي."
#: ../src\extra\autocompletionUsers\completion.py:20 #: ../src\extra\autocompletionUsers\completion.py:20
#: ../src\extra\autocompletionUsers\completion.py:38 #: ../src\extra\autocompletionUsers\completion.py:38
@@ -1400,11 +1400,11 @@ msgstr "إذهب إلى التبويبة القادمة"
#: ../src\keystrokeEditor\constants.py:7 #: ../src\keystrokeEditor\constants.py:7
msgid "Focus the next session" msgid "Focus the next session"
msgstr "" msgstr "إنتقل للجلسة التالية."
#: ../src\keystrokeEditor\constants.py:8 #: ../src\keystrokeEditor\constants.py:8
msgid "Focus the previous session" msgid "Focus the previous session"
msgstr "" msgstr "إنتقل للجلسة السابقة."
#: ../src\keystrokeEditor\constants.py:9 #: ../src\keystrokeEditor\constants.py:9
#, fuzzy #, fuzzy
@@ -1452,15 +1452,15 @@ msgstr "إفتح سياق المستخدم"
#: ../src\keystrokeEditor\constants.py:21 #: ../src\keystrokeEditor\constants.py:21
msgid "Destroy buffer" msgid "Destroy buffer"
msgstr "" msgstr "إحذف الصفحة"
#: ../src\keystrokeEditor\constants.py:22 #: ../src\keystrokeEditor\constants.py:22
msgid "Interact with the currently focused tweet." msgid "Interact with the currently focused tweet."
msgstr "" msgstr "التفاعل مع التغريدة المختارة حاليا"
#: ../src\keystrokeEditor\constants.py:23 #: ../src\keystrokeEditor\constants.py:23
msgid "Open URL" msgid "Open URL"
msgstr "" msgstr "إفتح الرابط"
#: ../src\keystrokeEditor\constants.py:24 #: ../src\keystrokeEditor\constants.py:24
msgid "Increase volume by 5%" msgid "Increase volume by 5%"
@@ -1472,19 +1472,19 @@ msgstr "إنقاص علو الصوت %5"
#: ../src\keystrokeEditor\constants.py:26 #: ../src\keystrokeEditor\constants.py:26
msgid "Jump to the first element of a buffer" msgid "Jump to the first element of a buffer"
msgstr "" msgstr "القفز إلى أول عنصر في الصفحة"
#: ../src\keystrokeEditor\constants.py:27 #: ../src\keystrokeEditor\constants.py:27
msgid "Jump to the last element of the current buffer" msgid "Jump to the last element of the current buffer"
msgstr "" msgstr "القفز إلى آخر عنصر في الصفحة الحالية"
#: ../src\keystrokeEditor\constants.py:28 #: ../src\keystrokeEditor\constants.py:28
msgid "Jump 20 elements up in the current buffer" msgid "Jump 20 elements up in the current buffer"
msgstr "" msgstr "القفز إلى 20 عنصر للأعلى في الصفحة الحالية"
#: ../src\keystrokeEditor\constants.py:29 #: ../src\keystrokeEditor\constants.py:29
msgid "Jump 20 elements down in the current buffer" msgid "Jump 20 elements down in the current buffer"
msgstr "" msgstr "القفز إلى 20 عنصر أسفل في الصفحة الحالية"
#: ../src\keystrokeEditor\constants.py:30 #: ../src\keystrokeEditor\constants.py:30
msgid "Edit profile" msgid "Edit profile"
@@ -1492,7 +1492,7 @@ msgstr "حرر ملفك الشخصي"
#: ../src\keystrokeEditor\constants.py:31 #: ../src\keystrokeEditor\constants.py:31
msgid "Delete a tweet or direct message" msgid "Delete a tweet or direct message"
msgstr "" msgstr "إحذف تغريدة أو رسالة مباشرة"
#: ../src\keystrokeEditor\constants.py:32 #: ../src\keystrokeEditor\constants.py:32
#, fuzzy #, fuzzy
@@ -1501,7 +1501,7 @@ msgstr "إفراغ السياق الزمني"
#: ../src\keystrokeEditor\constants.py:33 #: ../src\keystrokeEditor\constants.py:33
msgid "Repeat last item" msgid "Repeat last item"
msgstr "" msgstr "إعد العنصر الأخير"
#: ../src\keystrokeEditor\constants.py:34 #: ../src\keystrokeEditor\constants.py:34
msgid "Copy to clipboard" msgid "Copy to clipboard"
@@ -1522,7 +1522,7 @@ msgstr "كتم / إلغاء كتم الصفحة الفعالة"
#: ../src\keystrokeEditor\constants.py:38 #: ../src\keystrokeEditor\constants.py:38
msgid "Mute/unmute the current session" msgid "Mute/unmute the current session"
msgstr "" msgstr "كتم / إلغاء الكتم للجلسة الحالية"
#: ../src\keystrokeEditor\constants.py:39 #: ../src\keystrokeEditor\constants.py:39
#, fuzzy #, fuzzy
@@ -1549,7 +1549,7 @@ msgstr "إظهار القوائم لمستخدم محدد"
#: ../src\keystrokeEditor\constants.py:44 #: ../src\keystrokeEditor\constants.py:44
msgid "load previous items" msgid "load previous items"
msgstr "" msgstr "حمل العناصر السابقة"
#: ../src\keystrokeEditor\constants.py:45 #: ../src\keystrokeEditor\constants.py:45
#, fuzzy #, fuzzy
@@ -1568,7 +1568,7 @@ msgstr "إعرض المواضيع المتداولة"
#: ../src\keystrokeEditor\constants.py:48 #: ../src\keystrokeEditor\constants.py:48
msgid "View conversation" msgid "View conversation"
msgstr "" msgstr "إعرض المحادثة"
#: ../src\keystrokeEditor\constants.py:49 #: ../src\keystrokeEditor\constants.py:49
#, fuzzy #, fuzzy
@@ -1580,6 +1580,7 @@ msgid ""
"Opens the list manager, which allows you to create, edit, delete and open " "Opens the list manager, which allows you to create, edit, delete and open "
"lists in buffers." "lists in buffers."
msgstr "" msgstr ""
"تفتح مدير القوائم والذي يمكنك من إنشاء وتحرير وحذف وفتح القوائم والصفحات."
#: ../src\keystrokeEditor\constants.py:51 #: ../src\keystrokeEditor\constants.py:51
#, fuzzy #, fuzzy
@@ -1614,7 +1615,7 @@ msgstr "حرر"
#: ../src\keystrokeEditor\wx_ui.py:20 #: ../src\keystrokeEditor\wx_ui.py:20
msgid "Execute action" msgid "Execute action"
msgstr "" msgstr "ينفذ المهمة"
#: ../src\keystrokeEditor\wx_ui.py:21 ../src\wxUI\dialogs\configuration.py:349 #: ../src\keystrokeEditor\wx_ui.py:21 ../src\wxUI\dialogs\configuration.py:349
#: ../src\wxUI\dialogs\message.py:84 ../src\wxUI\dialogs\message.py:144 #: ../src\wxUI\dialogs\message.py:84 ../src\wxUI\dialogs\message.py:144
@@ -1723,10 +1724,12 @@ msgid ""
"The request to authorize your Twitter account will be opened in your " "The request to authorize your Twitter account will be opened in your "
"browser. You only need to do this once. Would you like to continue?" "browser. You only need to do this once. Would you like to continue?"
msgstr "" msgstr ""
"سوف يفتح متصفح للسماح للبرنامج بالدخول على حساب تويتر الخاص بك. أنت تحتاج أن "
"تفعل هذا مرة واحدة. هل ترغب بالمتابعة؟"
#: ../src\sessionmanager\wxUI.py:51 #: ../src\sessionmanager\wxUI.py:51
msgid "Authorized account %d" msgid "Authorized account %d"
msgstr "" msgstr "تم التصريح للحساب %d"
#: ../src\sessionmanager\wxUI.py:57 #: ../src\sessionmanager\wxUI.py:57
msgid "Invalid user token" msgid "Invalid user token"
@@ -1736,7 +1739,7 @@ msgstr "مفتاح العبور ر غير صحيح"
msgid "" msgid ""
"Your access token is invalid or the authorization has failed. Please try " "Your access token is invalid or the authorization has failed. Please try "
"again." "again."
msgstr "" msgstr "هناك مشكلة في التصريح. يرجى المحاولة مرة أخرى."
#: ../src\sessionmanager\wxUI.py:63 #: ../src\sessionmanager\wxUI.py:63
#, fuzzy #, fuzzy
@@ -1745,7 +1748,7 @@ msgstr "هل أنت متأكد من رغبتك بإزالة هذذ الحساب"
#: ../src\sound.py:136 #: ../src\sound.py:136
msgid "Stopped." msgid "Stopped."
msgstr "" msgstr "تم الإيقاف."
#: ../src\twitter\compose.py:41 ../src\twitter\compose.py:96 #: ../src\twitter\compose.py:41 ../src\twitter\compose.py:96
#: ../src\twitter\compose.py:105 #: ../src\twitter\compose.py:105
@@ -1948,7 +1951,8 @@ msgid "Date"
msgstr "تاريخ" msgstr "تاريخ"
#: ../src\wxUI\buffers\base.py:11 ../src\wxUI\buffers\people.py:10 #: ../src\wxUI\buffers\base.py:11 ../src\wxUI\buffers\people.py:10
#: ../src\wxUI\buffers\user_searches.py:9 ../src\wxUI\dialogs\userActions.py:10 #: ../src\wxUI\buffers\user_searches.py:9
#: ../src\wxUI\dialogs\userActions.py:10
#: ../src\wxUI\dialogs\userSelection.py:10 ../src\wxUI\dialogs\utils.py:30 #: ../src\wxUI\dialogs\userSelection.py:10 ../src\wxUI\dialogs\utils.py:30
msgid "User" msgid "User"
msgstr "المستخدم" msgstr "المستخدم"
@@ -2739,42 +2743,36 @@ msgid "&Show item"
msgstr "&إعرض العنصر" msgstr "&إعرض العنصر"
#: ../src\wxUI\sysTrayIcon.py:34 ../src\wxUI\view.py:22 #: ../src\wxUI\sysTrayIcon.py:34 ../src\wxUI\view.py:22
#, fuzzy
msgid "&Global settings" msgid "&Global settings"
msgstr "تم تشغيل الكتم الكلي." msgstr "&الإعدادات العامة"
#: ../src\wxUI\sysTrayIcon.py:35 ../src\wxUI\view.py:21 #: ../src\wxUI\sysTrayIcon.py:35 ../src\wxUI\view.py:21
msgid "Account se&ttings" msgid "Account se&ttings"
msgstr "" msgstr ""
#: ../src\wxUI\sysTrayIcon.py:36 #: ../src\wxUI\sysTrayIcon.py:36
#, fuzzy
msgid "Update &profile" msgid "Update &profile"
msgstr "حدث ملفك الشخصي" msgstr "حدث &ملفك الشخصي"
#: ../src\wxUI\sysTrayIcon.py:37 #: ../src\wxUI\sysTrayIcon.py:37
#, fuzzy
msgid "&Show / hide" msgid "&Show / hide"
msgstr "الإظهار او الإخفاء" msgstr "&الإظهار او الإخفاء"
#: ../src\wxUI\sysTrayIcon.py:38 ../src\wxUI\view.py:61 #: ../src\wxUI\sysTrayIcon.py:38 ../src\wxUI\view.py:61
msgid "&Documentation" msgid "&Documentation"
msgstr "دليل المستخدم" msgstr "دليل المستخدم"
#: ../src\wxUI\sysTrayIcon.py:40 #: ../src\wxUI\sysTrayIcon.py:40
#, fuzzy
msgid "Check for &updates" msgid "Check for &updates"
msgstr "فحص التحديثات الجديدة" msgstr "فحص &التحديثات الجديدة"
#: ../src\wxUI\sysTrayIcon.py:41 #: ../src\wxUI\sysTrayIcon.py:41
#, fuzzy
msgid "&Exit" msgid "&Exit"
msgstr "الخروج" msgstr "&الخروج"
#: ../src\wxUI\view.py:15 #: ../src\wxUI\view.py:15
#, fuzzy
msgid "&Manage accounts" msgid "&Manage accounts"
msgstr "حساب جديد" msgstr "&إدر الحسابات"
#: ../src\wxUI\view.py:16 #: ../src\wxUI\view.py:16
msgid "&Update profile" msgid "&Update profile"
@@ -2883,9 +2881,8 @@ msgid "&Report an error"
msgstr "إبلغ عن عطل" msgstr "إبلغ عن عطل"
#: ../src\wxUI\view.py:67 #: ../src\wxUI\view.py:67
#, fuzzy
msgid "{0}'s &website" msgid "{0}'s &website"
msgstr "موقع TW Blue الإلكتروني" msgstr "&website الخاص ب{0} "
#: ../src\wxUI\view.py:68 #: ../src\wxUI\view.py:68
msgid "About &{0}" msgid "About &{0}"

Binary file not shown.

View File

@@ -2,7 +2,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: TW Blue 0.80\n" "Project-Id-Version: TW Blue 0.80\n"
"POT-Creation-Date: 2015-11-06 08:10+Hora estndar central (Mxico)\n" "POT-Creation-Date: 2015-11-06 08:10+Hora estndar central (Mxico)\n"
"PO-Revision-Date: 2015-11-16 21:55+0200\n" "PO-Revision-Date: 2015-11-29 17:17+0200\n"
"Last-Translator: José Manuel Delicado Alcolea <jmdaweb@hotmail.com>\n" "Last-Translator: José Manuel Delicado Alcolea <jmdaweb@hotmail.com>\n"
"Language-Team: Jani Kinnunen <jani.kinnunen@wippies.fi>\n" "Language-Team: Jani Kinnunen <jani.kinnunen@wippies.fi>\n"
"Language: fi\n" "Language: fi\n"
@@ -1845,7 +1845,7 @@ msgid ""
"Changes:\n" "Changes:\n"
"%s" "%s"
msgstr "" msgstr ""
"Uusi versio (%s) on saatavilla. Haluatko ladata sen nyt?\n" "Uusi %sN versio on saatavilla. Haluatko ladata sen nyt?\n"
"\n" "\n"
" %sn versio: %s\n" " %sn versio: %s\n"
"\n" "\n"
@@ -2832,7 +2832,7 @@ msgstr "Päivitä"
#: ../src\wxUI\view.py:181 #: ../src\wxUI\view.py:181
msgid "Your {0} version is up to date" msgid "Your {0} version is up to date"
msgstr "Käyttämäsi {0}-versio on ajan tasalla." msgstr "Käyttämäsi {0}n versio on ajan tasalla."
#~ msgid "Favourites" #~ msgid "Favourites"
#~ msgstr "Suosikit" #~ msgstr "Suosikit"

Binary file not shown.

View File

@@ -2,14 +2,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: TW Blue 0.80\n" "Project-Id-Version: TW Blue 0.80\n"
"POT-Creation-Date: 2015-11-06 08:10+Hora estndar central (Mxico)\n" "POT-Creation-Date: 2015-11-06 08:10+Hora estndar central (Mxico)\n"
"PO-Revision-Date: 2015-10-03 13:11+0200\n" "PO-Revision-Date: 2015-12-07 10:36+0100\n"
"Last-Translator: José Manuel Delicado Alcolea <jmdaweb@hotmail.com>\n" "Last-Translator: José Manuel Delicado Alcolea <jmdaweb@hotmail.com>\n"
"Language-Team: Juan Buño <jcbsua@gmail.com>\n" "Language-Team: Juan Buño <jcbsua@gmail.com>\n"
"Language: gl\n" "Language: gl\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.5\n" "X-Generator: Poedit 1.6.11\n"
"X-Poedit-KeywordsList: _;gettext;gettext_noop\n" "X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
"X-Poedit-Basepath: .\n" "X-Poedit-Basepath: .\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -116,7 +116,7 @@ msgstr "Enviar chíos"
#: ../src\controller\mainController.py:1277 #: ../src\controller\mainController.py:1277
#: ../src\wxUI\dialogs\userSelection.py:20 #: ../src\wxUI\dialogs\userSelection.py:20
msgid "Likes" msgid "Likes"
msgstr "" msgstr "Marcados como Gústame"
#: ../src\controller\mainController.py:314 #: ../src\controller\mainController.py:314
#: ../src\controller\mainController.py:1282 #: ../src\controller\mainController.py:1282
@@ -153,15 +153,13 @@ msgid "Timeline for {}"
msgstr "Liña temporal para {0}" msgstr "Liña temporal para {0}"
#: ../src\controller\mainController.py:340 #: ../src\controller\mainController.py:340
#, fuzzy
msgid "Likes timelines" msgid "Likes timelines"
msgstr "Liñas temporais de favoritos" msgstr "Liñas temporais de marcados como gústame"
#: ../src\controller\mainController.py:344 #: ../src\controller\mainController.py:344
#: ../src\controller\mainController.py:789 #: ../src\controller\mainController.py:789
#, fuzzy
msgid "Likes for {}" msgid "Likes for {}"
msgstr "Lista para {}" msgstr "Chíos que me gustan para {}"
#: ../src\controller\mainController.py:349 ../src\wxUI\dialogs\lists.py:12 #: ../src\controller\mainController.py:349 ../src\wxUI\dialogs\lists.py:12
msgid "Lists" msgid "Lists"
@@ -420,9 +418,8 @@ msgid "Tweets: %s\n"
msgstr "Chíos: %s\n" msgstr "Chíos: %s\n"
#: ../src\controller\user.py:98 #: ../src\controller\user.py:98
#, fuzzy
msgid "Likes: %s" msgid "Likes: %s"
msgstr "Favoritos: %s" msgstr "Marcados como gústame: %s"
#: ../src\controller\userActionsController.py:75 #: ../src\controller\userActionsController.py:75
msgid "You can't ignore direct messages" msgid "You can't ignore direct messages"
@@ -593,14 +590,12 @@ msgid "Error."
msgstr "Erro" msgstr "Erro"
#: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:10 #: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:10
#, fuzzy
msgid "Tweet liked." msgid "Tweet liked."
msgstr "Chío recibido." msgstr "Chío marcado como gústame."
#: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:11 #: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:11
#, fuzzy
msgid "Likes buffer updated." msgid "Likes buffer updated."
msgstr "Búfer Favoritos actualizado." msgstr "Búfer de marcados como gústame actualizado."
#: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:12 #: ../src\extra\SoundsTutorial\soundsTutorial_constants.py:12
msgid "Geotweet." msgid "Geotweet."
@@ -816,7 +811,6 @@ msgid "{0}'s database of users has been updated."
msgstr "Actualizouse a base de dados de usuarios do {0}'" msgstr "Actualizouse a base de dados de usuarios do {0}'"
#: ../src\extra\translator\translator.py:124 #: ../src\extra\translator\translator.py:124
#, fuzzy
msgid "unavailable" msgid "unavailable"
msgstr "Non dispoñible" msgstr "Non dispoñible"
@@ -1375,14 +1369,12 @@ msgid "Send direct message"
msgstr "Enviar mensaxe directa" msgstr "Enviar mensaxe directa"
#: ../src\keystrokeEditor\constants.py:14 #: ../src\keystrokeEditor\constants.py:14
#, fuzzy
msgid "Like a tweet" msgid "Like a tweet"
msgstr "Novo chío" msgstr "Gústame un chío"
#: ../src\keystrokeEditor\constants.py:15 #: ../src\keystrokeEditor\constants.py:15
#, fuzzy
msgid "Unlike a tweet" msgid "Unlike a tweet"
msgstr "Novo chío" msgstr "Non me gusta un chío"
#: ../src\keystrokeEditor\constants.py:16 #: ../src\keystrokeEditor\constants.py:16
msgid "Open the user actions dialogue" msgid "Open the user actions dialogue"
@@ -1518,25 +1510,24 @@ msgid "View conversation"
msgstr "Ver conversación" msgstr "Ver conversación"
#: ../src\keystrokeEditor\constants.py:49 #: ../src\keystrokeEditor\constants.py:49
#, fuzzy
msgid "Check and download updates" msgid "Check and download updates"
msgstr "Comprobar &actualizacións" msgstr "Comprobar e descargar actualizacións"
#: ../src\keystrokeEditor\constants.py:50 #: ../src\keystrokeEditor\constants.py:50
msgid "" msgid ""
"Opens the list manager, which allows you to create, edit, delete and open " "Opens the list manager, which allows you to create, edit, delete and open "
"lists in buffers." "lists in buffers."
msgstr "" msgstr ""
"Abre o xestor de listas, o que che permite crear, editar, eliminar e abrir "
"listas nos búferes."
#: ../src\keystrokeEditor\constants.py:51 #: ../src\keystrokeEditor\constants.py:51
#, fuzzy
msgid "Opens the global settings dialogue" msgid "Opens the global settings dialogue"
msgstr "Abrir o diálogo de accións do Usuario" msgstr "Abre o diálogo de opcións blobais"
#: ../src\keystrokeEditor\constants.py:52 #: ../src\keystrokeEditor\constants.py:52
#, fuzzy
msgid "Opens the account settings dialogue" msgid "Opens the account settings dialogue"
msgstr "Abrir o diálogo de accións do Usuario" msgstr "Abre o diálogo de opcións da conta"
#: ../src\keystrokeEditor\wx_ui.py:8 #: ../src\keystrokeEditor\wx_ui.py:8
msgid "Keystroke editor" msgid "Keystroke editor"
@@ -1739,24 +1730,20 @@ msgid "You've unfollowed %s (@%s)"
msgstr "deixaches de seguir a %s(@%s)" msgstr "deixaches de seguir a %s(@%s)"
#: ../src\twitter\compose.py:126 #: ../src\twitter\compose.py:126
#, fuzzy
msgid "You've liked: %s, %s" msgid "You've liked: %s, %s"
msgstr "Bloqueaches a %s" msgstr "Marcaches como gústame: %s, %s"
#: ../src\twitter\compose.py:128 #: ../src\twitter\compose.py:128
#, fuzzy
msgid "%s(@%s) has liked: %s" msgid "%s(@%s) has liked: %s"
msgstr "%s(@%s) comezou a seguirte" msgstr "%s(@%s) marcouse como gústame: %s"
#: ../src\twitter\compose.py:130 #: ../src\twitter\compose.py:130
#, fuzzy
msgid "You've unliked: %s, %s" msgid "You've unliked: %s, %s"
msgstr "Desbloqueaches a %s" msgstr "Marcaches como non me gusta: %s, %s"
#: ../src\twitter\compose.py:131 #: ../src\twitter\compose.py:131
#, fuzzy
msgid "%s(@%s) has unliked: %s" msgid "%s(@%s) has unliked: %s"
msgstr "%s(@%s) comezou a seguirte" msgstr "%s(@%s) marcouse como non me gusta: %s"
#: ../src\twitter\compose.py:133 #: ../src\twitter\compose.py:133
msgid "You've created the list %s" msgid "You've created the list %s"
@@ -1899,7 +1886,8 @@ msgid "Date"
msgstr "Data" msgstr "Data"
#: ../src\wxUI\buffers\base.py:11 ../src\wxUI\buffers\people.py:10 #: ../src\wxUI\buffers\base.py:11 ../src\wxUI\buffers\people.py:10
#: ../src\wxUI\buffers\user_searches.py:9 ../src\wxUI\dialogs\userActions.py:10 #: ../src\wxUI\buffers\user_searches.py:9
#: ../src\wxUI\dialogs\userActions.py:10
#: ../src\wxUI\dialogs\userSelection.py:10 ../src\wxUI\dialogs\utils.py:30 #: ../src\wxUI\dialogs\userSelection.py:10 ../src\wxUI\dialogs\utils.py:30
msgid "User" msgid "User"
msgstr "Usuario" msgstr "Usuario"
@@ -2051,13 +2039,12 @@ msgid "Warning"
msgstr "Precaución" msgstr "Precaución"
#: ../src\wxUI\commonMessageDialogs.py:50 #: ../src\wxUI\commonMessageDialogs.py:50
#, fuzzy
msgid "" msgid ""
"This is a protected user account, you need to follow this user to view their " "This is a protected user account, you need to follow this user to view their "
"tweets or likes." "tweets or likes."
msgstr "" msgstr ""
"Esta é unha conta de usuario protexida, necesitas seguir a este usuario para " "Esta é unha conta de usuario protexida, necesitas seguir a este usuario para "
"ver os seus chíos ou favoritos." "ver os seus chíos ou marcados como gústame."
#: ../src\wxUI\commonMessageDialogs.py:53 #: ../src\wxUI\commonMessageDialogs.py:53
msgid "" msgid ""
@@ -2481,7 +2468,7 @@ msgstr "Rechouchíos: "
#: ../src\wxUI\dialogs\message.py:268 #: ../src\wxUI\dialogs\message.py:268
msgid "Likes: " msgid "Likes: "
msgstr "" msgstr "Marcados como gústame:"
#: ../src\wxUI\dialogs\message.py:318 #: ../src\wxUI\dialogs\message.py:318
msgid "View" msgid "View"
@@ -2609,11 +2596,11 @@ msgstr "&Responder"
#: ../src\wxUI\menus.py:11 ../src\wxUI\view.py:30 #: ../src\wxUI\menus.py:11 ../src\wxUI\view.py:30
msgid "&Like" msgid "&Like"
msgstr "" msgstr "&´Gústame"
#: ../src\wxUI\menus.py:13 ../src\wxUI\view.py:31 #: ../src\wxUI\menus.py:13 ../src\wxUI\view.py:31
msgid "&Unlike" msgid "&Unlike"
msgstr "" msgstr "&Non me gusta"
#: ../src\wxUI\menus.py:15 ../src\wxUI\menus.py:33 ../src\wxUI\menus.py:49 #: ../src\wxUI\menus.py:15 ../src\wxUI\menus.py:33 ../src\wxUI\menus.py:49
msgid "&Open URL" msgid "&Open URL"
@@ -2762,9 +2749,8 @@ msgid "R&emove from list"
msgstr "&Quitar de listaxe" msgstr "&Quitar de listaxe"
#: ../src\wxUI\view.py:46 #: ../src\wxUI\view.py:46
#, fuzzy
msgid "V&iew likes" msgid "V&iew likes"
msgstr "&Ver listaxes" msgstr "&Ver marcados como gústame"
#: ../src\wxUI\view.py:50 #: ../src\wxUI\view.py:50
msgid "New &trending topics buffer..." msgid "New &trending topics buffer..."

Binary file not shown.

View File

@@ -5,8 +5,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: TWBlue 0.80\n" "Project-Id-Version: TWBlue 0.80\n"
"POT-Creation-Date: 2015-11-06 08:10+Hora estndar central (Mxico)\n" "POT-Creation-Date: 2015-11-06 08:10+Hora estándar central (México)\n"
"PO-Revision-Date: 2015-11-27 12:04+0100\n" "PO-Revision-Date: 2016-01-19 22:01+0100\n"
"Last-Translator: José Manuel Delicado Alcolea <jmdaweb@hotmail.com>\n" "Last-Translator: José Manuel Delicado Alcolea <jmdaweb@hotmail.com>\n"
"Language-Team: Zvonimir Stanečić\n" "Language-Team: Zvonimir Stanečić\n"
"Language: hr\n" "Language: hr\n"

Binary file not shown.

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"POT-Creation-Date: 2015-11-06 08:10+Hora estndar central (Mxico)\n" "POT-Creation-Date: 2015-11-06 08:10+Hora estndar central (Mxico)\n"
"PO-Revision-Date: 2015-11-28 13:13+0900\n" "PO-Revision-Date: 2015-12-05 20:49+0900\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: ja_JP\n" "Language: ja_JP\n"
@@ -1612,7 +1612,7 @@ msgstr "ユーザーのデフォルト"
#: ../src\sessionmanager\session.py:189 #: ../src\sessionmanager\session.py:189
msgid "%s failed. Reason: %s" msgid "%s failed. Reason: %s"
msgstr "%sに失敗。理由:%s" msgstr "%s"
#: ../src\sessionmanager\session.py:195 #: ../src\sessionmanager\session.py:195
msgid "%s succeeded." msgid "%s succeeded."

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -2,14 +2,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: TW Blue 0.80\n" "Project-Id-Version: TW Blue 0.80\n"
"POT-Creation-Date: 2015-11-06 08:10+Hora estándar central (México)\n" "POT-Creation-Date: 2015-11-06 08:10+Hora estándar central (México)\n"
"PO-Revision-Date: 2015-11-21 13:46+0200\n" "PO-Revision-Date: 2015-12-06 13:56+0200\n"
"Last-Translator: Burak <burakyuksek252@hotmail.com>\n" "Last-Translator: Burak <burakyuksek252@hotmail.com>\n"
"Language-Team: Burak <burakyuksek252@hotmail.com>\n" "Language-Team: Burak <burakyuksek252@hotmail.com>\n"
"Language: tr\n" "Language: tr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.7.1\n" "X-Generator: Poedit 1.6.11\n"
"X-Poedit-KeywordsList: _;gettext;gettext_noop\n" "X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
"X-Poedit-Basepath: .\n" "X-Poedit-Basepath: .\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -1951,7 +1951,9 @@ msgstr "Çıkış"
#: ../src\wxUI\commonMessageDialogs.py:19 #: ../src\wxUI\commonMessageDialogs.py:19
msgid " {0} must be restarted for these changes to take effect." msgid " {0} must be restarted for these changes to take effect."
msgstr "Değişikliklerin uygulanması için {0} yeniden başlatılması gerekir." msgstr ""
"Değişikliklerin uygulanması için {0} programının yeniden başlatılması "
"gerekir."
#: ../src\wxUI\commonMessageDialogs.py:19 #: ../src\wxUI\commonMessageDialogs.py:19
msgid "Restart {0} " msgid "Restart {0} "

View File

@@ -14,6 +14,9 @@ if system == "Windows":
sys.stderr = open(os.path.join(os.getenv("temp"), "stderr.log"), "w") sys.stderr = open(os.path.join(os.getenv("temp"), "stderr.log"), "w")
import languageHandler import languageHandler
import paths import paths
#check if TWBlue is installed (Windows only)
if os.path.exists(paths.app_path(u"Uninstall.exe")):
paths.mode="installed"
import commandline import commandline
import config import config
import sound import sound

View File

@@ -7,7 +7,7 @@ from platform_utils import paths as paths_
from functools import wraps from functools import wraps
mode = None mode = "portable"
directory = None directory = None
log = logging.getLogger("paths") log = logging.getLogger("paths")

View File

@@ -32,7 +32,7 @@ def load_library(library, x86_path='.', x64_path='.', *args, **kwargs):
loaded = _do_load(lib, *args, **kwargs) loaded = _do_load(lib, *args, **kwargs)
if loaded is not None: if loaded is not None:
return loaded return loaded
raise LibraryLoadError('unable to load %r. Provided library path: %r' % (library, path)) raise LibraryLoadError('unable to load %r. Provided library path: %r' % (library, lib))
def _do_load(file, *args, **kwargs): def _do_load(file, *args, **kwargs):
loader = TYPES[platform.system()]['loader'] loader = TYPES[platform.system()]['loader']

View File

@@ -2,6 +2,7 @@
import shutil import shutil
import widgetUtils import widgetUtils
import platform import platform
import output
if platform.system() == "Windows": if platform.system() == "Windows":
import wxUI as view import wxUI as view
from controller import settings from controller import settings

View File

@@ -14,6 +14,8 @@ system = platform.system()
from mysc.repeating_timer import RepeatingTimer from mysc.repeating_timer import RepeatingTimer
from mysc.thread_utils import call_threaded from mysc.thread_utils import call_threaded
import application import application
import tempfile
import glob
URLPlayer = None URLPlayer = None
def setup(): def setup():

View File

@@ -4,5 +4,6 @@ import platform
if platform.system() != 'Darwin': if platform.system() != 'Darwin':
import sound_lib.external.pybass_aac import sound_lib.external.pybass_aac
import sound_lib.external.pybass_alac import sound_lib.external.pybass_alac
import sound_lib.external.pybassopus
import sound_lib.external.pybassflac import sound_lib.external.pybassflac
import sound_lib.external.pybassmidi import sound_lib.external.pybassmidi

47
src/sound_lib/external/pybassopus.py vendored Normal file
View File

@@ -0,0 +1,47 @@
# Copyright(c) Max Kolosov 2009 maxkolosov@inbox.ru
# http://vosolok2008.narod.ru
# BSD license
__version__ = '0.1'
__versionTime__ = '2009-11-15'
__author__ = 'Max Kolosov <maxkolosov@inbox.ru>'
__doc__ = '''
pybassflac.py - is ctypes python module for
BASSFLAC - extension to the BASS audio library,
enabling the playing of FLAC (Free Lossless Audio Codec) encoded files.
'''
import os, sys, ctypes, pybass
from paths import x86_path, x64_path
import libloader
bassopus_module = libloader.load_library('bassopus', x86_path=x86_path, x64_path=x64_path)
func_type = libloader.get_functype()
#Register the plugin with the Bass plugin system.
pybass.BASS_PluginLoad(libloader.find_library_path('bassopus', x86_path=x86_path, x64_path=x64_path), 0)
QWORD = pybass.QWORD
HSTREAM = pybass.HSTREAM
DOWNLOADPROC = pybass.DOWNLOADPROC
BASS_FILEPROCS = pybass.BASS_FILEPROCS
# BASS_CHANNELINFO type
BASS_CTYPE_STREAM_OPUS = 0x11200
#HSTREAM BASSOPUSDEF(BASS_OPUS_StreamCreateFile)(BOOL mem, const void *file, QWORD offset, QWORD length, DWORD flags);
BASS_OPUS_StreamCreateFile = func_type(HSTREAM, ctypes.c_byte, ctypes.c_void_p, QWORD, QWORD, ctypes.c_ulong)(('BASS_OPUS_StreamCreateFile', bassopus_module))
#HSTREAM BASSFLACDEF(BASS_FLAC_StreamCreateURL)(const char *url, DWORD offset, DWORD flags, DOWNLOADPROC *proc, void *user);
BASS_OPUS_StreamCreateURL = func_type(HSTREAM, ctypes.c_char_p, ctypes.c_ulong, ctypes.c_ulong, DOWNLOADPROC, ctypes.c_void_p)(('BASS_OPUS_StreamCreateURL', bassopus_module))
#HSTREAM BASSFLACDEF(BASS_FLAC_StreamCreateFileUser)(DWORD system, DWORD flags, const BASS_FILEPROCS *procs, void *user);
BASS_OPUS_StreamCreateFileUser = func_type(HSTREAM, ctypes.c_ulong, ctypes.c_ulong, ctypes.POINTER(BASS_FILEPROCS), ctypes.c_void_p)(('BASS_OPUS_StreamCreateFileUser', bassopus_module))
if __name__ == "__main__":
if not pybass.BASS_Init(-1, 44100, 0, 0, 0):
print 'BASS_Init error', pybass.get_error_description(pybass.BASS_ErrorGetCode())
else:
handle = BASS_OPUS_StreamCreateFile(False, 'test.opus', 0, 0, 0)
pybass.play_handle(handle)
if not pybass.BASS_Free():
print 'BASS_Free error', pybass.get_error_description(pybass.BASS_ErrorGetCode())

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -5,14 +5,14 @@ from .channel import Channel
class Music(Channel): class Music(Channel):
def __init__(self, mem=False, file=None, offset=0, length=0, flags=0, freq=0): def __init__(self, mem=False, file=None, offset=0, length=0, flags=0, freq=0):
handle = BASS_MusicLoad(mem, file, offset, length, flags, freq) handle = pybass.BASS_MusicLoad(mem, file, offset, length, flags, freq)
super(Music, self).__init__(handle) super(Music, self).__init__(handle)
self.add_attributes_to_mapping( self.add_attributes_to_mapping(
music_amplify=pybass.BASS_ATTRIB_MUSIC_AMPLIFY, music_amplify=pybass.BASS_ATTRIB_MUSIC_AMPLIFY,
music_bpm = BASS_ATTRIB_MUSIC_BPM, music_bpm = pybass.BASS_ATTRIB_MUSIC_BPM,
music_pansep=BASS_ATTRIB_MUSIC_PANSEP, music_pansep=pybass.BASS_ATTRIB_MUSIC_PANSEP,
music_speed=BASS_ATTRIB_MUSIC_SPEED, music_speed=pybass.BASS_ATTRIB_MUSIC_SPEED,
music_vol_chan=BASS_ATTRIB_MUSIC_VOL_CHAN, music_vol_chan=pybass.BASS_ATTRIB_MUSIC_VOL_CHAN,
music_vol_global=BASS_ATTRIB_MUSIC_VOL_GLOBAL, music_vol_global=pybass.BASS_ATTRIB_MUSIC_VOL_GLOBAL,
music_vol_inst=BASS_ATTRIB_MUSIC_VOL_INST, music_vol_inst=pybass.BASS_ATTRIB_MUSIC_VOL_INST,
) )

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -245,7 +245,7 @@ class viewTweet(widgetUtils.BaseDialog):
def set_title(self, lenght): def set_title(self, lenght):
self.SetTitle(_(u"Tweet - %i characters ") % (lenght,)) self.SetTitle(_(u"Tweet - %i characters ") % (lenght,))
def __init__(self, text, rt_count, favs_count): def __init__(self, text, rt_count, favs_count,source):
super(viewTweet, self).__init__(None, size=(850,850)) super(viewTweet, self).__init__(None, size=(850,850))
panel = wx.Panel(self) panel = wx.Panel(self)
label = wx.StaticText(panel, -1, _(u"Tweet")) label = wx.StaticText(panel, -1, _(u"Tweet"))
@@ -270,9 +270,15 @@ class viewTweet(widgetUtils.BaseDialog):
favsBox = wx.BoxSizer(wx.HORIZONTAL) favsBox = wx.BoxSizer(wx.HORIZONTAL)
favsBox.Add(favsCountLabel, 0, wx.ALL, 5) favsBox.Add(favsCountLabel, 0, wx.ALL, 5)
favsBox.Add(favsCount, 0, wx.ALL, 5) favsBox.Add(favsCount, 0, wx.ALL, 5)
sourceLabel = wx.StaticText(panel, -1, _(u"Source: "))
sourceTweet = wx.TextCtrl(panel, -1, source, size=wx.DefaultSize, style=wx.TE_READONLY|wx.TE_MULTILINE)
sourceBox = wx.BoxSizer(wx.HORIZONTAL)
sourceBox.Add(sourceLabel, 0, wx.ALL, 5)
sourceBox.Add(sourceTweet, 0, wx.ALL, 5)
infoBox = wx.BoxSizer(wx.HORIZONTAL) infoBox = wx.BoxSizer(wx.HORIZONTAL)
infoBox.Add(rtBox, 0, wx.ALL, 5) infoBox.Add(rtBox, 0, wx.ALL, 5)
infoBox.Add(favsBox, 0, wx.ALL, 5) infoBox.Add(favsBox, 0, wx.ALL, 5)
infoBox.Add(sourceBox, 0, wx.ALL, 5)
mainBox.Add(infoBox, 0, wx.ALL, 5) mainBox.Add(infoBox, 0, wx.ALL, 5)
self.spellcheck = wx.Button(panel, -1, _("Spelling correction"), size=wx.DefaultSize) self.spellcheck = wx.Button(panel, -1, _("Spelling correction"), size=wx.DefaultSize)
self.unshortenButton = wx.Button(panel, -1, _(u"Expand URL"), size=wx.DefaultSize) self.unshortenButton = wx.Button(panel, -1, _(u"Expand URL"), size=wx.DefaultSize)

View File

@@ -62,7 +62,6 @@ class mainFrame(wx.Frame):
self.doc = help.Append(-1, _(u"&Documentation")) self.doc = help.Append(-1, _(u"&Documentation"))
self.sounds_tutorial = help.Append(wx.NewId(), _(u"Sounds &tutorial")) self.sounds_tutorial = help.Append(wx.NewId(), _(u"Sounds &tutorial"))
self.changelog = help.Append(wx.NewId(), _(u"&What's new in this version?")) self.changelog = help.Append(wx.NewId(), _(u"&What's new in this version?"))
self.changelog.Enable(False)
self.check_for_updates = help.Append(wx.NewId(), _(u"&Check for updates")) self.check_for_updates = help.Append(wx.NewId(), _(u"&Check for updates"))
self.reportError = help.Append(wx.NewId(), _(u"&Report an error")) self.reportError = help.Append(wx.NewId(), _(u"&Report an error"))
self.visit_website = help.Append(-1, _(u"{0}'s &website").format(application.name,)) self.visit_website = help.Append(-1, _(u"{0}'s &website").format(application.name,))