commit/StationPlaylist: 8 new changesets

  • From: commits-noreply@xxxxxxxxxxxxx
  • To: nvda-addons-commits@xxxxxxxxxxxxx
  • Date: Sat, 10 Dec 2016 16:47:11 -0000

8 new commits in StationPlaylist:

https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/8914e21d178c/
Changeset:   8914e21d178c
Branch:      None
User:        josephsl
Date:        2016-12-02 19:52:22+00:00
Summary:     GUI Helper services (17.1-dev): Profile triggers dialog has been 
converted.

Mostly relying on old code: OK and Cancel buttons in the profile triggers 
dialog is no right-justified.
Also, instead of adding time sizer elements, use sizer.AddMany to add all of 
them at once.
For layout purposes and to avoid labels being cut off, trigger days and times 
will be disabled instead of being hidden (this avoids unnecesary layout 
calculations).

Affected #:  1 file

diff --git a/addon/appModules/splstudio/splconfui.py 
b/addon/appModules/splstudio/splconfui.py
index 85963fa..65acead 100755
--- a/addon/appModules/splstudio/splconfui.py
+++ b/addon/appModules/splstudio/splconfui.py
@@ -772,61 +772,50 @@ class TriggersDialog(wx.Dialog):
                sizer.Add(label)"""
 
                mainSizer = wx.BoxSizer(wx.VERTICAL)
+               triggersHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
 
-               sizer = wx.BoxSizer(wx.VERTICAL)
                # Translators: The label of a checkbox to toggle if selected 
profile is an instant switch profile.
-               
self.instantSwitchCheckbox=wx.CheckBox(self,wx.NewId(),label=_("This is an 
&instant switch profile"))
+               
self.instantSwitchCheckbox=triggersHelper.addItem(wx.CheckBox(self, 
label=_("This is an &instant switch profile")))
                self.instantSwitchCheckbox.SetValue(parent.switchProfile == 
parent.profiles.GetStringSelection().split(" <")[0])
-               sizer.Add(self.instantSwitchCheckbox, border=10,flag=wx.TOP)
 
                # Translators: The label of a checkbox to toggle if selected 
profile is a time-based profile.
-               
self.timeSwitchCheckbox=wx.CheckBox(self,wx.NewId(),label=_("This is a 
&time-based switch profile"))
+               
self.timeSwitchCheckbox=triggersHelper.addItem(wx.CheckBox(self, label=_("This 
is a &time-based switch profile")))
                self.timeSwitchCheckbox.SetValue(profile in 
self.Parent._profileTriggersConfig)
                self.timeSwitchCheckbox.Bind(wx.EVT_CHECKBOX, self.onTimeSwitch)
-               sizer.Add(self.timeSwitchCheckbox, border=10,flag=wx.TOP)
-               mainSizer.Add(sizer,border=20,flag=wx.LEFT|wx.RIGHT|wx.TOP)
 
                daysSizer = wx.StaticBoxSizer(wx.StaticBox(self, wx.ID_ANY, 
_("Day")), wx.HORIZONTAL)
                self.triggerDays = []
                for day in xrange(len(calendar.day_name)):
                        triggerDay=wx.CheckBox(self, 
wx.NewId(),label=calendar.day_name[day])
-                       value = (64 >> day & 
self.Parent._profileTriggersConfig[profile][0]) if profile in 
self.Parent._profileTriggersConfig else 0
-                       triggerDay.SetValue(value)
+                       triggerDay.SetValue((64 >> day & 
self.Parent._profileTriggersConfig[profile][0]) if profile in 
self.Parent._profileTriggersConfig else 0)
+                       if not self.timeSwitchCheckbox.IsChecked(): 
triggerDay.Disable()
                        self.triggerDays.append(triggerDay)
-               for day in self.triggerDays:
-                       daysSizer.Add(day)
-                       if not self.timeSwitchCheckbox.IsChecked(): 
daysSizer.Hide(day)
-               mainSizer.Add(daysSizer,border=20,flag=wx.LEFT|wx.RIGHT|wx.TOP)
+                       daysSizer.Add(triggerDay)
+               triggersHelper.addItem(daysSizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
 
                timeSizer = wx.StaticBoxSizer(wx.StaticBox(self, wx.ID_ANY, 
_("Time")), wx.HORIZONTAL)
                self.hourPrompt = wx.StaticText(self, wx.ID_ANY, 
label=_("Hour"))
-               timeSizer.Add(self.hourPrompt)
                self.hourEntry = wx.SpinCtrl(self, wx.ID_ANY, min=0, max=23)
                
self.hourEntry.SetValue(self.Parent._profileTriggersConfig[profile][4] if 
profile in self.Parent._profileTriggersConfig else 0)
                self.hourEntry.SetSelection(-1, -1)
-               timeSizer.Add(self.hourEntry)
                self.minPrompt = wx.StaticText(self, wx.ID_ANY, 
label=_("Minute"))
-               timeSizer.Add(self.minPrompt)
                self.minEntry = wx.SpinCtrl(self, wx.ID_ANY, min=0, max=59)
                
self.minEntry.SetValue(self.Parent._profileTriggersConfig[profile][5] if 
profile in self.Parent._profileTriggersConfig else 0)
                self.minEntry.SetSelection(-1, -1)
-               timeSizer.Add(self.minEntry)
                self.durationPrompt = wx.StaticText(self, wx.ID_ANY, 
label=_("Duration in minutes"))
-               timeSizer.Add(self.durationPrompt)
                self.durationEntry = wx.SpinCtrl(self, wx.ID_ANY, min=0, 
max=1440)
                
self.durationEntry.SetValue(self.Parent._profileTriggersConfig[profile][6] if 
profile in self.Parent._profileTriggersConfig else 0)
                self.durationEntry.SetSelection(-1, -1)
-               timeSizer.Add(self.durationEntry)
                if not self.timeSwitchCheckbox.IsChecked():
-                       timeSizer.Hide(self.hourPrompt)
-                       timeSizer.Hide(self.hourEntry)
-                       timeSizer.Hide(self.minPrompt)
-                       timeSizer.Hide(self.minEntry)
-                       timeSizer.Hide(self.durationPrompt)
-                       timeSizer.Hide(self.durationEntry)
-               
mainSizer.Add(timeSizer,border=20,flag=wx.LEFT|wx.RIGHT|wx.BOTTOM)
+                       self.hourPrompt.Disable()
+                       self.hourEntry.Disable()
+                       self.minPrompt.Disable()
+                       self.minEntry.Disable()
+                       self.durationPrompt.Disable()
+                       self.durationEntry.Disable()
+               timeSizer.AddMany((self.hourPrompt, self.hourEntry, 
self.minPrompt, self.minEntry, self.durationPrompt, self.durationEntry))
+               triggersHelper.addItem(timeSizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
 
-               triggersHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
                
triggersHelper.addDialogDismissButtons(self.CreateButtonSizer(wx.OK | 
wx.CANCEL))
                self.Bind(wx.EVT_BUTTON, self.onOk, id=wx.ID_OK)
                self.Bind(wx.EVT_BUTTON, self.onCancel, id=wx.ID_CANCEL)
@@ -894,7 +883,7 @@ class TriggersDialog(wx.Dialog):
                import eventHandler
                eventHandler.executeEvent("stateChange", api.getFocusObject())
                for prompt in self.triggerDays + [self.hourPrompt, 
self.hourEntry, self.minPrompt, self.minEntry, self.durationPrompt, 
self.durationEntry]:
-                       prompt.Show() if self.timeSwitchCheckbox.IsChecked() 
else prompt.Hide()
+                       prompt.Enable() if self.timeSwitchCheckbox.IsChecked() 
else prompt.Disable()
                self.Fit()
 
 # Metadata reminder controller.


https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/6eb430a12551/
Changeset:   6eb430a12551
Branch:      None
User:        josephsl
Date:        2016-12-02 21:59:06+00:00
Summary:     GUi Helper services (17.1-dev): Reorganized Column Announcements 
checkboxes and metadata streaming checkboxes.

For column announcement checkboxes, only one list wil be used to use checkboxes 
instead of three. Also, instead of using a variable, the newly added checkbox 
will be appended to the checkboxes collection.
For metadata streaming dialog, checkboxes will be appended to the streams liss.
For Columns Explorer, label text is really a constant, so interpolate while 
constructing the combo boxes.

Affected #:  1 file

diff --git a/addon/appModules/splstudio/splconfui.py 
b/addon/appModules/splstudio/splconfui.py
index 65acead..3b53f05 100755
--- a/addon/appModules/splstudio/splconfui.py
+++ b/addon/appModules/splstudio/splconfui.py
@@ -930,10 +930,9 @@ class MetadataStreamingDialog(wx.Dialog):
                # Add checkboxes for each stream, beginning with the DSP 
encoder.
                sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
                for stream in xrange(5):
-                       checkedStream=sizer.addItem(wx.CheckBox(self, 
label=streamLabels[stream]))
-                       if func: checkedStream.SetValue(func(stream, 36, 
ret=True))
-                       else: 
checkedStream.SetValue(self.Parent.metadataStreams[stream])
-                       self.checkedStreams.append(checkedStream)
+                       
self.checkedStreams.append(sizer.addItem(wx.CheckBox(self, 
label=streamLabels[stream])))
+                       if func: self.checkedStreams[-1].SetValue(func(stream, 
36, ret=True))
+                       else: 
self.checkedStreams[-1].SetValue(self.Parent.metadataStreams[stream])
                metadataSizerHelper.addItem(sizer.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
 
                if self.func is not None:
@@ -984,25 +983,6 @@ class ColumnAnnouncementsDialog(wx.Dialog):
                # Translators: Title of a dialog to configure column 
announcements (order and what columns should be announced).
                super(ColumnAnnouncementsDialog, self).__init__(parent, 
title=_("Manage column announcements"))
 
-               # Same as metadata dialog (wx.CheckListBox isn't user friendly).
-               # Gather values for checkboxes except artist and title.
-               # 6.1: Split these columns into rows.
-               self.checkedColumns = []
-               for column in ("Duration", "Intro", "Category", "Filename"):
-                       checkedColumn=wx.CheckBox(self,wx.NewId(),label=column)
-                       checkedColumn.SetValue(column in 
self.Parent.includedColumns)
-                       self.checkedColumns.append(checkedColumn)
-               self.checkedColumns2 = []
-               for column in ("Outro","Year","Album","Genre","Mood","Energy"):
-                       checkedColumn=wx.CheckBox(self,wx.NewId(),label=column)
-                       checkedColumn.SetValue(column in 
self.Parent.includedColumns)
-                       self.checkedColumns2.append(checkedColumn)
-               self.checkedColumns3 = []
-               for column in ("Tempo","BPM","Gender","Rating","Time 
Scheduled"):
-                       checkedColumn=wx.CheckBox(self,wx.NewId(),label=column)
-                       checkedColumn.SetValue(column in 
self.Parent.includedColumns)
-                       self.checkedColumns3.append(checkedColumn)
-
                mainSizer = wx.BoxSizer(wx.VERTICAL)
                colAnnouncementsHelper = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.VERTICAL)
 
@@ -1010,19 +990,25 @@ class ColumnAnnouncementsDialog(wx.Dialog):
                labelText = _("Select columns to be announced (artist and title 
are announced by default")
                colAnnouncementsHelper.addItem(wx.StaticText(self, 
label=labelText))
 
+               # Same as metadata dialog (wx.CheckListBox isn't user friendly).
+               # Gather values for checkboxes except artist and title.
+               # 6.1: Split these columns into rows.
+               # 17.1: Gather items into a single list instead of three.
+               self.checkedColumns = []
                sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
-               for checkedColumn in self.checkedColumns:
-                       sizer.addItem(checkedColumn)
+               for column in ("Duration", "Intro", "Category", "Filename"):
+                       
self.checkedColumns.append(sizer.addItem(wx.CheckBox(self, label=column)))
+                       self.checkedColumns[-1].SetValue(column in 
self.Parent.includedColumns)
                colAnnouncementsHelper.addItem(sizer.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
-
                sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
-               for checkedColumn in self.checkedColumns2:
-                       sizer.addItem(checkedColumn)
+               for column in ("Outro","Year","Album","Genre","Mood","Energy"):
+                       
self.checkedColumns.append(sizer.addItem(wx.CheckBox(self, label=column)))
+                       self.checkedColumns[-1].SetValue(column in 
self.Parent.includedColumns)
                colAnnouncementsHelper.addItem(sizer.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
-
                sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
-               for checkedColumn in self.checkedColumns3:
-                       sizer.addItem(checkedColumn)
+               for column in ("Tempo","BPM","Gender","Rating","Time 
Scheduled"):
+                       
self.checkedColumns.append(sizer.addItem(wx.CheckBox(self, label=column)))
+                       self.checkedColumns[-1].SetValue(column in 
self.Parent.includedColumns)
                colAnnouncementsHelper.addItem(sizer.sizer, border = 
gui.guiHelper.BORDER_FOR_DIALOGS, flag=wx.ALL)
 
                # WXPython Phoenix contains RearrangeList to allow item orders 
to be changed automatically.
@@ -1060,7 +1046,7 @@ class ColumnAnnouncementsDialog(wx.Dialog):
                # Make sure artist and title are always included.
                parent.includedColumns.add("Artist")
                parent.includedColumns.add("Title")
-               for checkbox in self.checkedColumns + self.checkedColumns2 + 
self.checkedColumns3:
+               for checkbox in self.checkedColumns:
                        action = parent.includedColumns.add if checkbox.Value 
else parent.includedColumns.discard
                        action(checkbox.Label)
                parent.profiles.SetFocus()
@@ -1129,8 +1115,7 @@ class ColumnsExplorerDialog(wx.Dialog):
                sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
                for slot in xrange(5):
                        # Translators: The label for a setting in SPL add-on 
dialog to select column for this column slot.
-                       labelText = _("Slot {position}").format(position = 
slot+1)
-                       columns = sizer.addLabeledControl(labelText, wx.Choice, 
choices=cols)
+                       columns = sizer.addLabeledControl(_("Slot 
{position}").format(position = slot+1), wx.Choice, choices=cols)
                        try:
                                
columns.SetSelection(cols.index(parent.exploreColumns[slot] if not tt else 
parent.exploreColumnsTT[slot]))
                        except:
@@ -1140,8 +1125,7 @@ class ColumnsExplorerDialog(wx.Dialog):
 
                sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
                for slot in xrange(5, 10):
-                       labelText = _("Slot {position}").format(position = 
slot+1)
-                       columns = sizer.addLabeledControl(labelText, wx.Choice, 
choices=cols)
+                       columns = sizer.addLabeledControl(_("Slot 
{position}").format(position = slot+1), wx.Choice, choices=cols)
                        try:
                                
columns.SetSelection(cols.index(parent.exploreColumns[slot] if not tt else 
parent.exploreColumnsTT[slot]))
                        except:


https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/a2e0ae7fc1fa/
Changeset:   a2e0ae7fc1fa
Branch:      None
User:        josephsl
Date:        2016-12-03 10:33:58+00:00
Summary:     Merge branch 'stable'

Affected #:  12 files

diff --git a/addon/appModules/splstudio/splconfui.py 
b/addon/appModules/splstudio/splconfui.py
index 3b53f05..49ca47c 100755
--- a/addon/appModules/splstudio/splconfui.py
+++ b/addon/appModules/splstudio/splconfui.py
@@ -336,7 +336,7 @@ class SPLConfigDialog(gui.SettingsDialog):
                self.playingTrackName = 
splconfig.SPLConfig["SayStatus"]["SayPlayingTrackName"]
 
                sizer = wx.BoxSizer(wx.HORIZONTAL)
-               # Translators: The label of a button to open advanced options 
such as using SPL Controller command to invoke Assistant layer.
+               # Translators: The label of a button to open status 
announcement options such as announcing listener count.
                item = sayStatusButton = wx.Button(self, label=_("&Status 
announcements..."))
                item.Bind(wx.EVT_BUTTON, self.onStatusAnnouncement)
                sizer.Add(item)
@@ -350,7 +350,7 @@ class SPLConfigDialog(gui.SettingsDialog):
                self.updateInterval = 
splconfig.SPLConfig["Update"]["UpdateInterval"]
                self.updateChannel = splupdate.SPLUpdateChannel
                self.pendingChannelChange = False
-               settingsSizer.Add(item)
+               sizer.Add(item)
                settingsSizer.Add(sizer, border=10, flag=wx.BOTTOM)
 
                # Translators: The label for a button in SPL add-on 
configuration dialog to reset settings to defaults.

diff --git a/addon/doc/ar/readme.md b/addon/doc/ar/readme.md
index 582e9d4..d38cd83 100644
--- a/addon/doc/ar/readme.md
+++ b/addon/doc/ar/readme.md
@@ -18,7 +18,7 @@ IMPORTANT: This add-on requires NVDA 2015.3 or later and 
StationPlaylist
 Studio 5.00 or later. If you have installed NVDA 2016.1 or later on Windows
 8 and later, disable audio ducking mode. Also, add-on 8.0/16.10 requires
 Studio 5.10 and later, and for broadcasters using Studio 5.0x, a long-term
-support version (7.x) is available.
+support version (15.x) is available.
 
 ## مفاتيح الاختصار
 
@@ -138,9 +138,9 @@ The available commands are:
 * R (Shift+E in JAWS and Window-Eyes layouts): Record to file
   enabled/disabled.
 * shift+r: مراقبة حالة التقدم في البحث بالمكتبة.
-* s: موعد بداية تشغيل المسار (إذا كان في جدول).
-* Shift+S: Time until selected track will play.
-* T: تعطيل أو تشغيل نمط تعيين مفاتيح للتنويهات.
+* S: Track starts (scheduled).
+* Shift+S: Time until selected track will play (track starts in).
+* T: Cart edit/insert mode on/off.
 * U: وقت الاستوديو
 * Control+Shift+U: Check for add-on updates.
 * W: حالة التقس ودرجة الحرارة إذا كانت معدة.
@@ -249,6 +249,18 @@ broadcast profiles.
 استخدم لمسة ب3 أصابع للانتقال لنمط اللمس, ثم استخدم أوامر اللمس المسرودة
 أعلاه لأداء المهام.
 
+## Version 16.12/15.4-LTS
+
+* More work on supporting Studio 5.20, including announcing cart insert mode
+  status (if turned on) from SPL Assistant layer (T).
+* Cart edit/insert mode toggle is no longer affected by message verbosity
+  nor status announcement type settings (this status will always be
+  announced via speech and/or braille).
+* It is no longer possible to add comments to timed break notes.
+* Support for Track Tool 5.20, including fixed an issue where wrong
+  information is announced when using Columns Explorer commands to announce
+  column information.
+
 ## Version 16.11/15.3-LTS
 
 * Initial support for StationPlaylist Studio 5.20, including improved
@@ -268,13 +280,13 @@ broadcast profiles.
   (Control+NVDA+F) such as checking it for playback.
 * ترجمة الإضافة لمزيد من اللغات
 
-## Changes for 8.0/16.10/15.0-LTS
+## Version 8.0/16.10/15.0-LTS
 
 Version 8.0 (also known as 16.10) supports SPL Studio 5.10 and later, with
 15.0-LTS (formerly 7.x) designed to provide some new features from 8.0 for
 users using earlier versions of Studio. Unless otherwise noted, entries
 below apply to both 8.0 and 7.x. A warning dialog will be shown the first
-time you use add-on 8.0 with Studio 5.0x installed, asking you to use 7.x
+time you use add-on 8.0 with Studio 5.0x installed, asking you to use 15.x
 LTS version.
 
 * Version scheme has changed to reflect release year.month instead of

diff --git a/addon/doc/es/readme.md b/addon/doc/es/readme.md
index 6802756..3e9db61 100644
--- a/addon/doc/es/readme.md
+++ b/addon/doc/es/readme.md
@@ -20,7 +20,7 @@ StationPlaylist Studio 5.00 o posterior. Si has instalado 
NVDA 2016.1 o
 posterior en Windows 8 y posterior, deshabilita el modo de atenuación de
 audio. También, el complemento 8.0/16.10 requiere de Studio 5.10 y
 posterior, y para transmisores que utilicen Studio 5.0x, una versión de
-soporte long-term (7.x) está disponible .
+soporte long-term (15.x) está disponible.
 
 ## Teclas de atajo
 
@@ -161,8 +161,9 @@ Las órdenes disponibles son:
   habilitado/deshabilitado.
 * Shift+R: Monitor de escaneado de biblioteca en progreso.
 * S: Comienzo de pistas (programado).
-* Shift+S: tiempo hasta el que se reproducirá la pista seleccionada.
-* T: modo Cart edit activado/desactivado.
+* Shift+S: tiempo hasta el que se reproducirá la pista seleccionada
+  (comienzos de pistas).
+* T: modo editar/insertar Cart activado/desactivado.
 * U: Studio al día.
 * Control+Shift+U: busca actualizaciones del complemento.
 * W: clima y temperatura si se configuró.
@@ -286,6 +287,19 @@ realizar algunas órdenes de Studio desde la pantalla 
táctil. Primero utiliza
 un toque con tres dedos para cambiar a modo SPL, entonces utiliza las
 órdenes táctiles listadas arriba para llevar a cabo tareas.
 
+## Versión 16.12/15.4-LTS
+
+* Más trabajo sobre el soporte de Studio 5.20, incluyendo el anunciado del
+  estado del modo inserción de cart (si está activado) desde el SPL
+  Assistant layer (T).
+* El conmutado del modo editar/insertar Cart ya no está afectado por la
+  verbosidad de los mensajes ni por las opciones de anunciado del tipo de
+  estado (Este estado se anunciará siempre a través de voz y/o braille).
+* Ya no es posible añadir commentarios a las notas partidas.
+* Soporte para Track Tool 5.20, incluyendo corregido un problema donde se
+  anunciaba información errónea al utilizar las órdenes del Explorador de
+  Columnas para anunciar información de columna.
+
 ## Versión 16.11/15.3-LTS
 
 * Soporte inicial para StationPlaylist Studio 5.20, incluyendo la
@@ -305,7 +319,7 @@ un toque con tres dedos para cambiar a modo SPL, entonces 
utiliza las
   Buscador de Pistas (Control+NVDA+F) según la busques para reproducir.
 * Traducciones actualizadas.
 
-## Cambios para 8.0/16.10/15.0-LTS
+## Versión 8.0/16.10/15.0-LTS
 
 La versión 8.0 (también conocida como 16.10) soporta SPL Studio 5.10 y
 posteriores, con 15.0-LTS (antes 7.x) diseñada para proporcionar algunas
@@ -313,7 +327,7 @@ características nuevas de 8.0 para usuarios que utilicen 
versiones
 anteriores de Studio. Al menos que se indique lo contrario, las entradas que
 siguen se aplican tanto a 8.0 como a 7.x. Se mostrará un diálogo de
 advertencia la primera vez que utilices el complemento 8.0 con Studio 5.0x
-instalado, pidiéndote que utilices la versión 7.x LTS.
+instalado, pidiéndote que utilices la versión 15.x LTS.
 
 * El esquema de la versión ha cambiado para reflejar el año/mes de la
   publicación en lugar de mayor.menor. Durante el período de transición

diff --git a/addon/doc/fr/readme.md b/addon/doc/fr/readme.md
index cf647c5..2d68631 100644
--- a/addon/doc/fr/readme.md
+++ b/addon/doc/fr/readme.md
@@ -15,12 +15,11 @@ module complémentaire][4]. Pour les développeurs cherchant 
à savoir comment
 construire le module complémentaire, voir buildInstructions.txt situé à la
 racine du code source du module complémentaire du référentiel.
 
-IMPORTANT : Ce module complémentaire nécessite NVDA 2015.3 ou plus récent et
-StationPlaylist Studio 5.00 ou version ultérieure. Si vous avez installé
-NVDA 2016.1 ou version ultérieure sur Windows 8 et supérieur désactiver le
-Mode d'atténuation audio. En outre,le module complémentaire 8.0/16.10
-nécessite Studio 5.10 et ultérieure, et pour les diffusions utilisant Studio
-5.0x, une version prise en charge à long terme (7.x) est disponible.
+IMPORTANT: This add-on requires NVDA 2015.3 or later and StationPlaylist
+Studio 5.00 or later. If you have installed NVDA 2016.1 or later on Windows
+8 and later, disable audio ducking mode. Also, add-on 8.0/16.10 requires
+Studio 5.10 and later, and for broadcasters using Studio 5.0x, a long-term
+support version (15.x) is available.
 
 ## Raccourcis clavier
 
@@ -165,9 +164,9 @@ Les commandes disponibles sont :
 * R (Maj+E dans la disposition  de JAWS et Window-Eyes) : Enregistrer dans
   un fichier activé/désactivé.
 * Maj+R : Contrôle du balayage de la bibliothèque en cours.
-* S : Piste débute dans (planifié).
-* Maj+S : Durée jusqu'à la piste sélectionnée qui va être jouer.
-* T : Mode édition chariot activé/désactivé.
+* S: Track starts (scheduled).
+* Shift+S: Time until selected track will play (track starts in).
+* T: Cart edit/insert mode on/off.
 * U: temps de fonctionnement Studio.
 * Contrôle+Maj+U : Rechercher les mises à jour du module complémentaire.
 * W: Météo et température si configurée.
@@ -298,6 +297,18 @@ un écran tactile. Tout d'abord utiliser une tape à trois 
doigts pour
 basculer en mode SPL, puis utilisez les commandes tactile énumérées
 ci-dessus pour exécuter des commandes.
 
+## Version 16.12/15.4-LTS
+
+* More work on supporting Studio 5.20, including announcing cart insert mode
+  status (if turned on) from SPL Assistant layer (T).
+* Cart edit/insert mode toggle is no longer affected by message verbosity
+  nor status announcement type settings (this status will always be
+  announced via speech and/or braille).
+* It is no longer possible to add comments to timed break notes.
+* Support for Track Tool 5.20, including fixed an issue where wrong
+  information is announced when using Columns Explorer commands to announce
+  column information.
+
 ## Version 16.11/15.3-LTS
 
 * Premier support de StationPlaylist Studio 5.20, y compris une meilleure
@@ -319,16 +330,14 @@ ci-dessus pour exécuter des commandes.
   lecture.
 * Mises à jour des traductions.
 
-## Changements pour la version 8.0/16.10/15.0-LTS
+## Version 8.0/16.10/15.0-LTS
 
-La version 8.0 (également connu sous le nom de 16.10) prend en charge la
-version SPL Studio 5.10 et ultérieure, avec la 15.0-LTS (anciennement la
-7.x) conçu pour fournir de nouvelles fonctionnalités depuis la 8.0 pour les
-utilisateurs des versions antérieures de Studio. À moins que dans le cas
-contraire les rubriques ci-dessous s’appliquent à les deux, 8.0 et 7.x. Un
-dialogue d'avertissement apparaît la première fois que vous utilisez le
-module complémentaire 8.0 avec Studio 5.0x installé, vous demandant
-d’utiliser la version  7.x LTS.
+Version 8.0 (also known as 16.10) supports SPL Studio 5.10 and later, with
+15.0-LTS (formerly 7.x) designed to provide some new features from 8.0 for
+users using earlier versions of Studio. Unless otherwise noted, entries
+below apply to both 8.0 and 7.x. A warning dialog will be shown the first
+time you use add-on 8.0 with Studio 5.0x installed, asking you to use 15.x
+LTS version.
 
 * Le Schéma de la version a changé pour refléter la version year.month au
   lieu de major.minor. Au cours de la période de transition (jusqu'au

diff --git a/addon/doc/gl/readme.md b/addon/doc/gl/readme.md
index 06ca2bd..8933f44 100644
--- a/addon/doc/gl/readme.md
+++ b/addon/doc/gl/readme.md
@@ -20,7 +20,7 @@ StationPlaylist Studio 5.00 ou posterior. Se instalaches NVDA 
2016.1 ou
 posterior en Windows 8 e posterior, deshabilita o modo atenuación de
 audio. Tamén, o complemento 8.0/16.10 require do Studio 5.10 e posterior, e
 para emisores que usen o Studio 5.0x, está disponible unha versión long-term
-support (7.x).
+support (15.x).
 
 ## Teclas de atallo
 
@@ -156,9 +156,10 @@ As ordes dispoñibles son:
 * R (Shift+E nas distribucións JAWS e Windows-Eye): Grabar en ficheiro
   activado / desactivado.
 * Shift+R: Monitorización  do escaneado da biblioteca en progreso.
-* S: Comezo de pistas en (programado).
-* Shift+S: tempo ata o que se reproducirá a pista selecionada.
-* T: modo Cart edit aceso/apagado.
+* S: Comezos de pistas (programado).
+* Shift+S: tempo ata o que se reproducirá a pista selecionada (comezos de
+  pista).
+* T: modo editar/insertar Cart aceso/apagado.
 * U: Studio up time.
 * Control+Shift+U: procurar actualizacións do complemento.
 * W: Clima e temperatura se se configurou.
@@ -278,6 +279,18 @@ realizar algunhas ordes do Studio dende a pantalla tactil. 
Primeiro usa un
 toque con tgres dedos para cambiar a modo SPL, logo usa as ordes tactiles
 listadas arriba para realizar ordes.
 
+## Versión 16.12/15.4-LTS
+
+* Máis traballo no soporte do Studio 5.20, incluindo o anunciado do estado
+  do modo insertar de cart (se está aceso) dende SPL Assistant layer (T).
+* Conmutar o modo editar/insertar xa non está afectado pola verbosidade das
+  mensaxes nin as opción de anunciado de tipo de estado (este estado
+  anunciarase sempre a través de voz e/ou braille).
+* Xa non é posible engadir comentarios ás notas partidas.
+* Soporte para Track Tool 5.20, incluindo corrección dun problema where onde
+  se anunciaba información errónea ao se usar ordes ddo Explorador de
+  Columnas para anunciar información da columna.
+
 ## Versión 16.11/15.3-LTS
 
 * Soporte inicial para StationPlaylist Studio 5.20, incluindo melloras de
@@ -297,7 +310,7 @@ listadas arriba para realizar ordes.
   Pistas (Control+NVDA+F) según a procuras para reproducir.
 * Traducións actualizadas.
 
-## Cambios para 8.0/16.10/15.0-LTS
+## Versión 8.0/16.10/15.0-LTS
 
 Versión 8.0 (tamén coñecida coma 16.10) soporta SPL Studio 5.10 e
 posteriores, con 15.0-LTS (anteriormente 7.x) deseñado para proporcionar
@@ -305,7 +318,7 @@ algunas características novas dende 8.0 para usuarios que 
usen versión
 anteriores do Studio. Ao menos que se sinale doutro xeito, as entradas máis
 abaixo aplícanse a ambas versión 8.0 e 7.x. Amosarase un diálogo de aviso a
 primeira vez que uses o complemento 8.0 co Studio 5.0x instalado,
-preguntándoche se usas a versión 7.x LTS.
+preguntándoche se usas a versión 15.x LTS.
 
 * O esquema da versión cambiou para reflectir o ano.mes da versión en lugar
   de maior.menor. Durante o período de transición (ata mitade  do 2017),

diff --git a/addon/doc/hu/readme.md b/addon/doc/hu/readme.md
index 9a703c2..5ddcfac 100644
--- a/addon/doc/hu/readme.md
+++ b/addon/doc/hu/readme.md
@@ -19,7 +19,7 @@ IMPORTANT: This add-on requires NVDA 2015.3 or later and 
StationPlaylist
 Studio 5.00 or later. If you have installed NVDA 2016.1 or later on Windows
 8 and later, disable audio ducking mode. Also, add-on 8.0/16.10 requires
 Studio 5.10 and later, and for broadcasters using Studio 5.0x, a long-term
-support version (7.x) is available.
+support version (15.x) is available.
 
 ## Gyorsbillentyűk
 
@@ -145,9 +145,9 @@ The available commands are:
 * R (Shift+E in JAWS and Window-Eyes layouts): Record to file
   enabled/disabled.
 * Shift+R: A folyamatban lévő gyűjtemény-átvizsgálás követése.
-* S: Zeneszám elkezdése (ütemezett idő)
-* Shift+S: Time until selected track will play.
-* T: Cart szerkesztési mód be-, és kikapcsolása.
+* S: Track starts (scheduled).
+* Shift+S: Time until selected track will play (track starts in).
+* T: Cart edit/insert mode on/off.
 * U: A Studio futási ideje.
 * Control+Shift+U: Check for add-on updates.
 * W: Időjárás és hőmérséklet, amennyiben be van állítva.
@@ -260,6 +260,18 @@ Amennyiben érintőképernyős számítógépen használja a 
Studiot Windows 8,
 parancsokat végrehajthat az érintőképernyőn is. Először 3 ujjas koppintással
 váltson SPL módra, és utána már használhatók az alább felsorolt parancsok.
 
+## Version 16.12/15.4-LTS
+
+* More work on supporting Studio 5.20, including announcing cart insert mode
+  status (if turned on) from SPL Assistant layer (T).
+* Cart edit/insert mode toggle is no longer affected by message verbosity
+  nor status announcement type settings (this status will always be
+  announced via speech and/or braille).
+* It is no longer possible to add comments to timed break notes.
+* Support for Track Tool 5.20, including fixed an issue where wrong
+  information is announced when using Columns Explorer commands to announce
+  column information.
+
 ## Version 16.11/15.3-LTS
 
 * Initial support for StationPlaylist Studio 5.20, including improved
@@ -279,13 +291,13 @@ váltson SPL módra, és utána már használhatók az alább 
felsorolt parancso
   (Control+NVDA+F) such as checking it for playback.
 * Fordítások frissítése
 
-## Changes for 8.0/16.10/15.0-LTS
+## Version 8.0/16.10/15.0-LTS
 
 Version 8.0 (also known as 16.10) supports SPL Studio 5.10 and later, with
 15.0-LTS (formerly 7.x) designed to provide some new features from 8.0 for
 users using earlier versions of Studio. Unless otherwise noted, entries
 below apply to both 8.0 and 7.x. A warning dialog will be shown the first
-time you use add-on 8.0 with Studio 5.0x installed, asking you to use 7.x
+time you use add-on 8.0 with Studio 5.0x installed, asking you to use 15.x
 LTS version.
 
 * Version scheme has changed to reflect release year.month instead of

diff --git a/addon/locale/de/LC_MESSAGES/nvda.po 
b/addon/locale/de/LC_MESSAGES/nvda.po
index 0585ce4..d90fbe7 100644
--- a/addon/locale/de/LC_MESSAGES/nvda.po
+++ b/addon/locale/de/LC_MESSAGES/nvda.po
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: StationPlaylist 1.1-dev\n"
 "Report-Msgid-Bugs-To: nvda-translations@xxxxxxxxxxxxx\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2016-05-16 23:07+0200\n"
+"PO-Revision-Date: 2016-11-21 07:49-0800\n"
 "Last-Translator: Bernd Dorer <bdorer@xxxxxxxxxxx>\n"
 "Language-Team: Deutsch <bernd_dorer@xxxxxxxx>\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.8.7\n"
+"X-Generator: Poedit 1.5.7\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
@@ -28,7 +28,6 @@ msgid "Track Dial on"
 msgstr "Titelauswahl eingeschaltet."
 
 #. Translators: Announced when located on a column other than the leftmost 
column while using track dial.
-#, python-brace-format
 msgid ", located at column {columnHeader}"
 msgstr ", befindet sich in Spalte {columnHeader}"
 
@@ -37,7 +36,6 @@ msgid "Track Dial off"
 msgstr "Titelauswahl ausgeschaltet."
 
 #. Translators: Spoken when enabling track dial while status message is set to 
beeps.
-#, python-brace-format
 msgid "Column {columnNumber}"
 msgstr "Spalte {columnNumber}"
 
@@ -52,22 +50,18 @@ msgid "StationPlaylist Studio"
 msgstr "Station Playlist Studio (SPL)"
 
 #. Translators: Standard message for announcing column content.
-#, python-brace-format
 msgid "{header}: {content}"
 msgstr "{header}: {content}"
 
 #. Translators: Presented when some info is not defined for a track in Track 
Tool (example: cue not found)
-#, python-brace-format
 msgid "{header} not found"
 msgstr ""
 
 #. Translators: Spoken when column content is blank.
-#, python-brace-format
 msgid "{header}: blank"
 msgstr "{header}: Kein"
 
 #. Translators: Brailled to indicate empty column content.
-#, python-brace-format
 msgid "{header}: ()"
 msgstr "{header}: ()"
 
@@ -76,7 +70,6 @@ msgid "No artist"
 msgstr "Kein Künstler"
 
 #. Translators: Presents artist information for a track in Track Tool.
-#, python-brace-format
 msgid "Artist: {artistName}"
 msgstr "Künstler: {artistName}"
 
@@ -86,7 +79,7 @@ msgstr "Einleitung nicht festgelegt."
 
 #. Translators: Presented when some info is not defined for a track in Track 
Tool (example: cue not found)
 #. Translators: Presented when a specific column header is not found.
-#, fuzzy, python-brace-format
+#, fuzzy
 msgid "{headerText} not found"
 msgstr "{header}: {content}"
 
@@ -95,12 +88,10 @@ msgid "Microphone active"
 msgstr "Mikrofon ist aktiv"
 
 #. Translators: Announced when leftmost column has no text while track dial is 
active.
-#, python-brace-format
 msgid "{leftmostColumn} not found"
 msgstr "{leftmostColumn} wurde nicht gefunden."
 
 #. Translators: Standard message for announcing column content.
-#, python-brace-format
 msgid "{leftmostColumn}: {leftmostContent}"
 msgstr "{leftmostColumn}: {leftmostContent}"
 
@@ -136,7 +127,6 @@ msgid "Status not found"
 msgstr "Status nicht gefunden"
 
 #. Translators: Status information for a checked track in Studio 5.10.
-#, python-brace-format
 msgid "Status: {name}"
 msgstr "Status: {name}"
 
@@ -344,7 +334,6 @@ msgstr ""
 "F12: auf schnell zwischen Profilen umschalten.\n"
 "Shift+F1: Benutzerhandbuch öffnen"
 
-#, python-brace-format
 msgid "Using SPL Studio version {SPLVersion}"
 msgstr "Verwendete SPL Studio Version {SPLVersion}"
 
@@ -355,7 +344,6 @@ msgid "SPL settings"
 msgstr "SPL-Einstellungen"
 
 #. Translators: Presented when library scan is complete.
-#, python-brace-format
 msgid "Scan complete with {scanCount} items"
 msgstr "Suchlauf beendet. Es wurden {scanCount} Einträge gefunden."
 
@@ -374,14 +362,12 @@ msgid "Warning: Microphone active"
 msgstr "Warnung: Mikrofon ist aktiv"
 
 #. Translators: Presented when end of introduction is approaching (example 
output: 5 sec left in track introduction).
-#, python-brace-format
 msgid "Warning: {seconds} sec left in track introduction"
 msgstr ""
 "Achtung: Das Vorspiel des aktuellen Titels dauert nur noch {seconds} "
 "Sekunden."
 
 #. Translators: Presented when end of track is approaching.
-#, python-brace-format
 msgid "Warning: {seconds} sec remaining"
 msgstr "Achtung: {seconds} Sekunden verbleiben"
 
@@ -544,12 +530,10 @@ msgid "Scan start"
 msgstr "Scanvorgang starten"
 
 #. Translators: Presented when library scanning is finished.
-#, python-brace-format
 msgid "{itemCount} items in the library"
 msgstr "{itemCount} Einträge in der Bibliothek"
 
 #. Translators: Presented after library scan is done.
-#, python-brace-format
 msgid "Scan complete with {itemCount} items"
 msgstr "Scanvorgang mit {itemCount} Einträge abgeschlossen."
 
@@ -558,7 +542,6 @@ msgid "Scanning"
 msgstr "Scanvorgang läuft..."
 
 #. Translators: Announces number of items in the Studio's track library 
(example: 1000 items scanned).
-#, python-brace-format
 msgid "{itemCount} items scanned"
 msgstr "{itemCount} Einträge gefunden"
 
@@ -684,7 +667,6 @@ msgstr ""
 "Startpunkt festgelegt haben."
 
 #. Translators: Presented when time analysis is done for a number of tracks 
(example output: Tracks: 3, totaling 5:00).
-#, python-brace-format
 msgid "Tracks: {numberOfSelectedTracks}, totaling {totalTime}"
 msgstr "Titel: {numberOfSelectedTracks}, Gesamtdauer {totalTime}"
 
@@ -717,7 +699,6 @@ msgid "No place marker found"
 msgstr "Keine Markierung gefunden"
 
 #. Translators: Status message for metadata streaming.
-#, python-brace-format
 msgid "Metadata streaming on URL {URLPosition} enabled"
 msgstr "Metadaten-Streaming auf URL {URLPosition} aktiviert"
 
@@ -726,7 +707,6 @@ msgid "Metadata streaming on DSP encoder enabled"
 msgstr "Metadaten-Streaming auf DSP-Encoder aktiviert"
 
 #. Translators: Status message for metadata streaming.
-#, python-brace-format
 msgid "Metadata streaming on URL {URLPosition} disabled"
 msgstr "Metadaten-Streaming auf URL {URLPosition} deaktiviert"
 
@@ -785,12 +765,12 @@ msgstr ""
 "zwischen Profilen umgeschaltet werden."
 
 #. Translators: Presented when switch to instant switch profile was successful.
-#, fuzzy, python-brace-format
+#, fuzzy
 msgid "Switching to {newProfileName}"
 msgstr "Profile werden umgeschaltet."
 
 #. Translators: Presented when switching from instant switch profile to a 
previous profile.
-#, fuzzy, python-brace-format
+#, fuzzy
 msgid "Returning to {previousProfile}"
 msgstr "Rückkehr zum vorherigen Profil"
 
@@ -809,7 +789,6 @@ msgid "Encoder settings error"
 msgstr ""
 
 #. Translators: Message presented indicating missing time-based profiles.
-#, python-brace-format
 msgid ""
 "Could not locate the following time-based profile(s):\n"
 "{profiles}"
@@ -868,7 +847,6 @@ msgstr "Benachrichtigung bei Song-Einleitung"
 msgid "Microphone alarm"
 msgstr "Mikrofon-Alarm"
 
-#, python-brace-format
 msgid "Enter &end of track alarm time in seconds (currently {curAlarmSec})"
 msgstr ""
 "Benachrichtigung bei Titel&ende in Sekunden eingeben (zur Zeit {curAlarmSec})"
@@ -878,7 +856,6 @@ msgstr ""
 msgid "&Notify when end of track is approaching"
 msgstr "&Benachrichtigen sobald das Titelende erreicht wird"
 
-#, python-brace-format
 msgid "Enter song &intro alarm time in seconds (currently {curRampSec})"
 msgstr ""
 "Benachrichtigungszeit bei Song-E&inleitung in Sekunden eingeben (zur Zeit "
@@ -889,7 +866,6 @@ msgid "&Notify when end of introduction is approaching"
 msgstr "&Benachrichtigen sobald das Ende der Einleitung erreicht wird"
 
 #. Translators: A dialog message to set microphone active alarm (curAlarmSec 
is the current mic monitoring alarm in seconds).
-#, python-brace-format
 msgid ""
 "Enter microphone alarm time in seconds (currently {curAlarmSec}, 0 disables "
 "the alarm)"
@@ -1306,7 +1282,6 @@ msgid "&Base profile:"
 msgstr "&Basisprofil:"
 
 #. Translators: The title of the broadcast profile triggers dialog.
-#, python-brace-format
 msgid "Profile triggers for {profileName}"
 msgstr "Profil-Auslöser für {profileName}"
 
@@ -1398,7 +1373,6 @@ msgid "Columns Explorer for Track Tool"
 msgstr "Reihenfolge der Spalten:"
 
 #. Translators: The label for a setting in SPL add-on dialog to select column 
for this column slot.
-#, python-brace-format
 msgid "Slot {position}"
 msgstr ""
 
@@ -1565,22 +1539,18 @@ msgid "Metadata streaming configured for DSP encoder"
 msgstr "Metadaten-Streaming für DSP-Encoder konfiguriert"
 
 #. Translators: Status message for metadata streaming.
-#, python-brace-format
 msgid "Metadata streaming configured for DSP encoder and URL {URL}"
 msgstr "Metadaten-Streaming für DSP-Encoder und URL {URL} konfiguriert"
 
 #. Translators: Status message for metadata streaming.
-#, python-brace-format
 msgid "Metadata streaming configured for URL {URL}"
 msgstr "Metadaten-Streaming für URL {URL} konfiguriert"
 
 #. Translators: Status message for metadata streaming.
-#, python-brace-format
 msgid "Metadata streaming configured for DSP encoder and URL's {URL}"
 msgstr "Metadaten-Streaming für DSP-Encoder und URLs {URL} konfiguriert"
 
 #. Translators: Status message for metadata streaming.
-#, python-brace-format
 msgid "Metadata streaming configured for URL's {URL}"
 msgstr "Metadaten für Streaming-URLs {URL} konfiguriert"
 
@@ -1611,7 +1581,6 @@ msgid "No add-on update available."
 msgstr ""
 
 #. Translators: Text shown if an add-on update is available.
-#, python-brace-format
 msgid "Studio add-on {newVersion} is available. Would you like to update?"
 msgstr ""
 
@@ -1693,7 +1662,7 @@ msgstr ""
 "während ein Titel abgespielt wird."
 
 #. Translators: Announces number of stream listeners.
-#, fuzzy, python-brace-format
+#, fuzzy
 msgid "Listener count: {listenerCount}"
 msgstr "Die Anzahl der Zuhörer konnten nicht ermittelt werden."
 
@@ -1710,7 +1679,6 @@ msgid "No encoders are being monitored"
 msgstr "Kein Encoder wird überwacht."
 
 #. Translators: Announces number of encoders being monitored in the background.
-#, python-brace-format
 msgid "Number of encoders monitored: {numberOfEncoders}: {streamLabels}"
 msgstr "Anzahgl überwachter Encoder: {numberOfEncoders}: {streamLabels}"
 
@@ -1720,7 +1688,6 @@ msgid "Another encoder settings dialog is open."
 msgstr "Ein weiteres Suchdialog ist geöffnet."
 
 #. Translators: The title of the encoder settings dialog (example: Encoder 
settings for SAM 1").
-#, python-brace-format
 msgid "Encoder settings for {name}"
 msgstr ""
 
@@ -1747,7 +1714,6 @@ msgid "Play connection status &beep while connecting"
 msgstr ""
 
 #. Translators: Status message for encoder monitoring.
-#, python-brace-format
 msgid "{encoder} {encoderNumber}: {status}"
 msgstr "{encoder} {encoderNumber}: {status}"
 
@@ -1785,12 +1751,10 @@ msgstr ""
 
 #. Multiple encoders.
 #. Translators: Presented when toggling the setting to monitor the selected 
encoder.
-#, python-brace-format
 msgid "Monitoring encoder {encoderNumber}"
 msgstr "Encoder {encoderNumber} wird überwacht"
 
 #. Translators: Presented when toggling the setting to monitor the selected 
encoder.
-#, python-brace-format
 msgid "Encoder {encoderNumber} will not be monitored"
 msgstr "Encoder {encoderNumber} wird nicht überwacht"
 
@@ -1805,7 +1769,6 @@ msgstr ""
 "legt fest, ob NVDA den ausgewählten Encoder im Hintergrund überwachen soll."
 
 #. Translators: The title of the stream labeler dialog (example: stream 
labeler for 1).
-#, python-brace-format
 msgid "Stream labeler for {streamEntry}"
 msgstr "{streamEntry} beschriften"
 
@@ -1851,11 +1814,9 @@ msgstr ""
 "Bei ein Mal drücken der Tastenkombination wird die aktuelle Uhrzeit "
 "einschließlich Sekunden und bei zwei Mal drücken das aktuelle Datum angesagt."
 
-#, python-brace-format
 msgid "Position: {pos}"
 msgstr "Position: {pos}"
 
-#, python-brace-format
 msgid "Label: {label}"
 msgstr "Beschriftung:  {label}"
 
@@ -1873,11 +1834,9 @@ msgstr "Verbindung wird getrennt..."
 msgid "Connects to a streaming server."
 msgstr "Stellt die Verbindung mit einem Streaming-Server her."
 
-#, python-brace-format
 msgid "Encoder Settings: {setting}"
 msgstr ""
 
-#, python-brace-format
 msgid "Transfer Rate: {transferRate}"
 msgstr "Übertragungsrate: {transferRate}"
 
@@ -1891,38 +1850,3 @@ msgstr ""
 "Verbessert die Unterstützung für Station Playlist Studio.\n"
 "Des weiteren fügt es Tastenkombinationen für das Studio aus beliebigen "
 "Programmen hinzu."
-
-#~ msgid "Not in tracks list"
-#~ msgstr "Nicht in der Titelliste."
-
-#~ msgid "No tracks added"
-#~ msgstr "Keine Titel hinzugefügt."
-
-#~ msgid "Toggles status announcements between words and beeps."
-#~ msgstr "Schaltet die Statusansage zwischen Pieptöne und Wörter um."
-
-#~ msgid "Remaining time not available"
-#~ msgstr "Verbleibende Zeit ist nicht verfügbar"
-
-#~ msgid "Elapsed time not available"
-#~ msgstr "Verstrichene Zeit ist nicht verfügbar"
-
-#~ msgid "Broadcaster time not available"
-#~ msgstr "Sendezeit ist nicht verfügbar"
-
-#~ msgid "Cannot obtain time in hours, minutes and seconds"
-#~ msgstr ""
-#~ "Die Länge konnte nicht in Stunden, Minuten und Sekunden ermittelt werden."
-
-#~ msgid "Disable instant profile switching"
-#~ msgstr "schnelle Umschaltung zwischen Profilen deaktivieren"
-
-#~ msgid ""
-#~ "An alarm dialog is already opened. Please close the alarm dialog first."
-#~ msgstr ""
-#~ "Ein Alarm-Dialog ist bereits eröffnet. Bitte schließen Sie zuerst den "
-#~ "Alarm-Dialog."
-
-#, fuzzy
-#~ msgid "Playlist &remainder announcement:"
-#~ msgstr "&Meldung beim Durchsuchen der Bibliothek"

diff --git a/addon/locale/es/LC_MESSAGES/nvda.po 
b/addon/locale/es/LC_MESSAGES/nvda.po
index d3005f5..692e403 100755
--- a/addon/locale/es/LC_MESSAGES/nvda.po
+++ b/addon/locale/es/LC_MESSAGES/nvda.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: StationPlaylist 1.1-dev\n"
 "Report-Msgid-Bugs-To: nvda-translations@xxxxxxxxxxxxx\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2016-10-03 17:36+0100\n"
+"PO-Revision-Date: 2016-11-21 07:50-0800\n"
 "Last-Translator: Juan C. Buño <oprisniki@xxxxxxxxx>\n"
 "Language-Team: Add-ons translation team <LL@xxxxxx>\n"
 "Language: es_ES\n"
@@ -16,7 +16,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.6.11\n"
+"X-Generator: Poedit 1.5.7\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
 #. Translators: Presented when only Track Tool is running (Track Dial requires 
Studio to be running as well).
@@ -144,6 +144,7 @@ msgid "Status: {name}"
 msgstr "Estado: {name}"
 
 #. Translators: The text of the help command in SPL Assistant layer.
+#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -166,7 +167,7 @@ msgid ""
 "Shift+R: Monitor library scan.\n"
 "S: Scheduled time for the track.\n"
 "Shift+S: Time until the selected track will play.\n"
-"T: Cart edit mode.\n"
+"T: Cart edit/insert mode.\n"
 "U: Studio up time.\n"
 "W: Weather and temperature.\n"
 "Y: Playlist modification.\n"
@@ -210,6 +211,7 @@ msgstr ""
 "Shift+F1: abre una guía de usuario en línea."
 
 #. Translators: The text of the help command in SPL Assistant layer when JFW 
layer is active.
+#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -234,7 +236,7 @@ msgid ""
 "Shift+R: Monitor library scan.\n"
 "S: Scheduled time for the track.\n"
 "Shift+S: Time until the selected track will play.\n"
-"T: Cart edit mode.\n"
+"T: Cart edit/insert mode.\n"
 "U: Studio up time.\n"
 "W: Weather and temperature.\n"
 "Y: Playlist modification.\n"
@@ -280,6 +282,7 @@ msgstr ""
 "Shift+F1: abre una guía de usuario en línea."
 
 #. Translators: The text of the help command in SPL Assistant layer when 
Window-Eyes layer is active.
+#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -306,7 +309,7 @@ msgid ""
 "Shift+R: Monitor library scan.\n"
 "S: Scheduled time for the track.\n"
 "Shift+S: Time until the selected track will play.\n"
-"T: Cart edit mode.\n"
+"T: Cart edit/insert mode.\n"
 "U: Studio up time.\n"
 "W: Weather and temperature.\n"
 "Y: Playlist modification.\n"
@@ -1915,48 +1918,3 @@ msgid ""
 msgstr ""
 "Mejora el soporte para Station Playlist Studio.\n"
 "Además, agrega comandos globales para el estudio desde cualquier parte."
-
-#~ msgid "Not in tracks list"
-#~ msgstr "No está en lista de pistas"
-
-#~ msgid "No tracks added"
-#~ msgstr "No se añadieron pistas"
-
-#~ msgid "Toggles status announcements between words and beeps."
-#~ msgstr "Conmutar el anunciado de estado entre palabras y pitidos."
-
-#~ msgid ""
-#~ "You appear to be running a version newer than the latest released "
-#~ "version. Please reinstall the official version to downgrade."
-#~ msgstr ""
-#~ "Parece que estés ejecutando una versión más nueva de la última liberada. "
-#~ "Por favor reinstala la versión official para retroceder."
-
-#~ msgid "Remaining time not available"
-#~ msgstr "Tiempo restante no disponible"
-
-#~ msgid "Elapsed time not available"
-#~ msgstr "Tiempo transcurrido no disponible"
-
-#~ msgid "Broadcaster time not available"
-#~ msgstr "Tiempo de emisión no disponible"
-
-#~ msgid "Cannot obtain time in hours, minutes and seconds"
-#~ msgstr "No se pudo obtener el tiempo en horas, minutos y segundos"
-
-#~ msgid "Disable instant profile switching"
-#~ msgstr "Deshabilitar cambio de perfil instantáneo"
-
-#~ msgid ""
-#~ "An alarm dialog is already opened. Please close the alarm dialog first."
-#~ msgstr ""
-#~ "Está todavía abierto un diálogo de alarma. Por favor ciérralo antes."
-
-#~ msgid "Playlist &remainder announcement:"
-#~ msgstr "Anunciado de pista de reproducción &restante:"
-
-#~ msgid "current hour only"
-#~ msgstr "sólo hora actual"
-
-#~ msgid "entire playlist"
-#~ msgstr "lista de reproducción entera"

diff --git a/addon/locale/fr/LC_MESSAGES/nvda.po 
b/addon/locale/fr/LC_MESSAGES/nvda.po
index 72a7cc6..723e04d 100755
--- a/addon/locale/fr/LC_MESSAGES/nvda.po
+++ b/addon/locale/fr/LC_MESSAGES/nvda.po
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: StationPlaylist 4.1\n"
 "Report-Msgid-Bugs-To: nvda-translations@xxxxxxxxxxxxx\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2016-09-30 19:41+0100\n"
+"PO-Revision-Date: 2016-11-21 07:53-0800\n"
 "Last-Translator: Rémy Ruiz <remyruiz@xxxxxxxxx>\n"
 "Language-Team: Rémy Ruiz <remyruiz@xxxxxxxxx>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.7.1\n"
+"X-Generator: Poedit 1.5.7\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
 #. Translators: Presented when only Track Tool is running (Track Dial requires 
Studio to be running as well).
@@ -144,6 +144,7 @@ msgid "Status: {name}"
 msgstr "Statut : {name}"
 
 #. Translators: The text of the help command in SPL Assistant layer.
+#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -166,7 +167,7 @@ msgid ""
 "Shift+R: Monitor library scan.\n"
 "S: Scheduled time for the track.\n"
 "Shift+S: Time until the selected track will play.\n"
-"T: Cart edit mode.\n"
+"T: Cart edit/insert mode.\n"
 "U: Studio up time.\n"
 "W: Weather and temperature.\n"
 "Y: Playlist modification.\n"
@@ -211,6 +212,7 @@ msgstr ""
 "Maj+F1 : Ouvre le guide de l'utilisateur en ligne."
 
 #. Translators: The text of the help command in SPL Assistant layer when JFW 
layer is active.
+#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -235,7 +237,7 @@ msgid ""
 "Shift+R: Monitor library scan.\n"
 "S: Scheduled time for the track.\n"
 "Shift+S: Time until the selected track will play.\n"
-"T: Cart edit mode.\n"
+"T: Cart edit/insert mode.\n"
 "U: Studio up time.\n"
 "W: Weather and temperature.\n"
 "Y: Playlist modification.\n"
@@ -282,6 +284,7 @@ msgstr ""
 "Maj+F1 : Ouvre le guide de l'utilisateur en ligne."
 
 #. Translators: The text of the help command in SPL Assistant layer when 
Window-Eyes layer is active.
+#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -308,7 +311,7 @@ msgid ""
 "Shift+R: Monitor library scan.\n"
 "S: Scheduled time for the track.\n"
 "Shift+S: Time until the selected track will play.\n"
-"T: Cart edit mode.\n"
+"T: Cart edit/insert mode.\n"
 "U: Studio up time.\n"
 "W: Weather and temperature.\n"
 "Y: Playlist modification.\n"
@@ -1933,47 +1936,3 @@ msgid ""
 msgstr ""
 "Améliore la prise en charge de StationPlaylist Studio.\n"
 "En outre, ajoute des commandes globales pour studio où que vous soyez."
-
-#~ msgid "Not in tracks list"
-#~ msgstr "Pas dans la liste des pistes"
-
-#~ msgid "No tracks added"
-#~ msgstr "Aucune piste ajoutée"
-
-#~ msgid "Toggles status announcements between words and beeps."
-#~ msgstr "Bascule l'annonce de statut entre mots et bips."
-
-#~ msgid ""
-#~ "You appear to be running a version newer than the latest released "
-#~ "version. Please reinstall the official version to downgrade."
-#~ msgstr ""
-#~ "Vous sembler exécuter une version plus récente que la dernière version. "
-#~ "S’il vous plaît réinstaller la version officielle adapter vers le bas."
-
-#~ msgid "Remaining time not available"
-#~ msgstr "Temps restant non disponible"
-
-#~ msgid "Elapsed time not available"
-#~ msgstr "Temps écoulé non disponible"
-
-#~ msgid "Broadcaster time not available"
-#~ msgstr "Temps de diffusion non disponible"
-
-#~ msgid "Cannot obtain time in hours, minutes and seconds"
-#~ msgstr "Impossible d'obtenir le temps en heures, minutes et secondes"
-
-#~ msgid "Disable instant profile switching"
-#~ msgstr "Désactiver le changement de profil immédiat"
-
-#~ msgid ""
-#~ "An alarm dialog is already opened. Please close the alarm dialog first."
-#~ msgstr "Un dialogue d'alarme est déjà ouvert. Veuillez d'abord le fermer."
-
-#~ msgid "Playlist &remainder announcement:"
-#~ msgstr "Annonce du &reste de la playlist :"
-
-#~ msgid "current hour only"
-#~ msgstr "heure actuelle seulement"
-
-#~ msgid "entire playlist"
-#~ msgstr "playlist entière"

diff --git a/addon/locale/gl/LC_MESSAGES/nvda.po 
b/addon/locale/gl/LC_MESSAGES/nvda.po
index c6fff12..828ab79 100755
--- a/addon/locale/gl/LC_MESSAGES/nvda.po
+++ b/addon/locale/gl/LC_MESSAGES/nvda.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: StationPlaylist 1.1-dev\n"
 "Report-Msgid-Bugs-To: nvda-translations@xxxxxxxxxxxxx\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2016-10-03 17:59+0100\n"
+"PO-Revision-Date: 2016-11-21 07:53-0800\n"
 "Last-Translator: Juan C. Buño <oprisniki@xxxxxxxxx>\n"
 "Language-Team: Add-ons translation team <oprisniki@xxxxxxxxx>\n"
 "Language: gl\n"
@@ -16,7 +16,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.6.11\n"
+"X-Generator: Poedit 1.5.7\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
 #. Translators: Presented when only Track Tool is running (Track Dial requires 
Studio to be running as well).
@@ -144,6 +144,7 @@ msgid "Status: {name}"
 msgstr "Estado: {name}"
 
 #. Translators: The text of the help command in SPL Assistant layer.
+#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -166,7 +167,7 @@ msgid ""
 "Shift+R: Monitor library scan.\n"
 "S: Scheduled time for the track.\n"
 "Shift+S: Time until the selected track will play.\n"
-"T: Cart edit mode.\n"
+"T: Cart edit/insert mode.\n"
 "U: Studio up time.\n"
 "W: Weather and temperature.\n"
 "Y: Playlist modification.\n"
@@ -210,6 +211,7 @@ msgstr ""
 "Shift+F1: Abre a guía de usuario en liña."
 
 #. Translators: The text of the help command in SPL Assistant layer when JFW 
layer is active.
+#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -234,7 +236,7 @@ msgid ""
 "Shift+R: Monitor library scan.\n"
 "S: Scheduled time for the track.\n"
 "Shift+S: Time until the selected track will play.\n"
-"T: Cart edit mode.\n"
+"T: Cart edit/insert mode.\n"
 "U: Studio up time.\n"
 "W: Weather and temperature.\n"
 "Y: Playlist modification.\n"
@@ -280,6 +282,7 @@ msgstr ""
 "Shift+F1: Abre a guía de usuario en liña."
 
 #. Translators: The text of the help command in SPL Assistant layer when 
Window-Eyes layer is active.
+#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -306,7 +309,7 @@ msgid ""
 "Shift+R: Monitor library scan.\n"
 "S: Scheduled time for the track.\n"
 "Shift+S: Time until the selected track will play.\n"
-"T: Cart edit mode.\n"
+"T: Cart edit/insert mode.\n"
 "U: Studio up time.\n"
 "W: Weather and temperature.\n"
 "Y: Playlist modification.\n"
@@ -1906,47 +1909,3 @@ msgid ""
 msgstr ""
 "Mellora o soporte para Station Playlist Studio.\n"
 "Ademáis, engade ordes globais para o estudio dende calquera parte."
-
-#~ msgid "Not in tracks list"
-#~ msgstr "Non está na lista das pistas"
-
-#~ msgid "No tracks added"
-#~ msgstr "Non se engadiron pistas"
-
-#~ msgid "Toggles status announcements between words and beeps."
-#~ msgstr "Conmutar o anunciamento de estado entre palabras e pitidos."
-
-#~ msgid ""
-#~ "You appear to be running a version newer than the latest released "
-#~ "version. Please reinstall the official version to downgrade."
-#~ msgstr ""
-#~ "Parece que estás a executar unha versión máis nova que a última versión "
-#~ "liberada. Por favor reinstala a versión oficial para voltar atrás."
-
-#~ msgid "Remaining time not available"
-#~ msgstr "Tempo restante non dispoñible"
-
-#~ msgid "Elapsed time not available"
-#~ msgstr "Tempo transcorrido non dispoñible"
-
-#~ msgid "Broadcaster time not available"
-#~ msgstr "Tempo de emisión non dispoñible"
-
-#~ msgid "Cannot obtain time in hours, minutes and seconds"
-#~ msgstr "Non se puido obter o tempo en horas, minutos e segundos"
-
-#~ msgid "Disable instant profile switching"
-#~ msgstr "Deshabilitar cambio de perfil instantáneo"
-
-#~ msgid ""
-#~ "An alarm dialog is already opened. Please close the alarm dialog first."
-#~ msgstr "Está aínda aberto un diálogo de alarma. Por favor péchao antes."
-
-#~ msgid "Playlist &remainder announcement:"
-#~ msgstr "Anunciado da lista de reprodución &restante:"
-
-#~ msgid "current hour only"
-#~ msgstr "só hora actual"
-
-#~ msgid "entire playlist"
-#~ msgstr "lista de reprodución enteira"

diff --git a/addon/locale/he/LC_MESSAGES/nvda.po 
b/addon/locale/he/LC_MESSAGES/nvda.po
index 9b23f9a..70f5a7d 100644
--- a/addon/locale/he/LC_MESSAGES/nvda.po
+++ b/addon/locale/he/LC_MESSAGES/nvda.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: stationPlaylist 5.5\n"
 "Report-Msgid-Bugs-To: nvda-translations@xxxxxxxxxxxxx\n"
 "POT-Creation-Date: 2015-09-25 19:00+1000\n"
-"PO-Revision-Date: 2016-10-02 00:16+0200\n"
+"PO-Revision-Date: 2016-11-21 21:09+0200\n"
 "Last-Translator:  <shmuel_naaman@xxxxxxxxx>\n"
 "Language-Team: \n"
 "Language: he\n"
@@ -119,9 +119,8 @@ msgid "Comments cannot be added to this kind of track"
 msgstr "לא ניתן להוסיף הערה מסוג זה לרצועה"
 
 #. Translators: The title of the track comments dialog.
-#, fuzzy
 msgid "Track comment"
-msgstr "קדימון"
+msgstr "כותרת ערוץ"
 
 #. Translators: Input help message for track comment announcemnet command in 
SPL Studio.
 msgid ""
@@ -142,6 +141,7 @@ msgid "Status: {name}"
 msgstr "מצב: {name}"
 
 #. Translators: The text of the help command in SPL Assistant layer.
+#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -164,7 +164,7 @@ msgid ""
 "Shift+R: Monitor library scan.\n"
 "S: Scheduled time for the track.\n"
 "Shift+S: Time until the selected track will play.\n"
-"T: Cart edit mode.\n"
+"T: Cart edit/insert mode.\n"
 "U: Studio up time.\n"
 "W: Weather and temperature.\n"
 "Y: Playlist modification.\n"
@@ -208,6 +208,7 @@ msgstr ""
 "Shift+F1: פתיחת המדריך המקוון"
 
 #. Translators: The text of the help command in SPL Assistant layer when JFW 
layer is active.
+#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -232,7 +233,7 @@ msgid ""
 "Shift+R: Monitor library scan.\n"
 "S: Scheduled time for the track.\n"
 "Shift+S: Time until the selected track will play.\n"
-"T: Cart edit mode.\n"
+"T: Cart edit/insert mode.\n"
 "U: Studio up time.\n"
 "W: Weather and temperature.\n"
 "Y: Playlist modification.\n"
@@ -276,6 +277,7 @@ msgstr ""
 "Shift+F1: פתיחת המדריך המקוון"
 
 #. Translators: The text of the help command in SPL Assistant layer when 
Window-Eyes layer is active.
+#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -302,7 +304,7 @@ msgid ""
 "Shift+R: Monitor library scan.\n"
 "S: Scheduled time for the track.\n"
 "Shift+S: Time until the selected track will play.\n"
-"T: Cart edit mode.\n"
+"T: Cart edit/insert mode.\n"
 "U: Studio up time.\n"
 "W: Weather and temperature.\n"
 "Y: Playlist modification.\n"
@@ -428,9 +430,8 @@ msgid "Opens SPL Studio add-on configuration dialog."
 msgstr "פתיחת תיבת דו-שיח ההגדרות של  Studio SPL"
 
 #. Translators: Input help mode message for a command in Station Playlist 
Studio.
-#, fuzzy
 msgid "Opens SPL Studio add-on welcome dialog."
-msgstr "פתיחת תיבת דו-שיח ההגדרות של  Studio SPL"
+msgstr "פתיחת תיבת דו-שיח ההגדרות של  Studio SPL."
 
 #. Translators: Input help mode message for a command in Station Playlist 
Studio.
 msgid "Toggles between various braille timer settings."
@@ -1813,12 +1814,3 @@ msgid ""
 msgstr ""
 "מנגיש את תוכנת StationPlaylist  Studio  .  \n"
 "בנוסף, מאפשר ביצוע פקודות מכל מקום אחר במחשב."
-
-#~ msgid "Not in tracks list"
-#~ msgstr "לא בתוך רשימת הרצועות"
-
-#~ msgid "No tracks added"
-#~ msgstr "לא נוספה רצועה"
-
-#~ msgid "Toggles status announcements between words and beeps."
-#~ msgstr "מיתוג מצב הודעה בין מלל וצליל"

diff --git a/addon/locale/ro/LC_MESSAGES/nvda.po 
b/addon/locale/ro/LC_MESSAGES/nvda.po
index 3e33538..7b7d574 100644
--- a/addon/locale/ro/LC_MESSAGES/nvda.po
+++ b/addon/locale/ro/LC_MESSAGES/nvda.po
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: stationPlaylist 6.4\n"
 "Report-Msgid-Bugs-To: nvda-translations@xxxxxxxxxxxxx\n"
 "POT-Creation-Date: 2016-03-04 19:00+1000\n"
-"PO-Revision-Date: 2016-09-30 20:02+0300\n"
+"PO-Revision-Date: 2016-11-21 08:12-0800\n"
 "Last-Translator: Florian Ionașcu <florianionascu@xxxxxxxxxxx>\n"
 "Language-Team: \n"
 "Language: ro\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.8.9\n"
+"X-Generator: Poedit 1.5.7\n"
 
 #. Translators: Presented when only Track Tool is running (Track Dial requires 
Studio to be running as well).
 msgid "Only Track Tool is running, Track Dial is unavailable"
@@ -141,6 +141,7 @@ msgid "Status: {name}"
 msgstr "Stare: {name}"
 
 #. Translators: The text of the help command in SPL Assistant layer.
+#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -163,7 +164,7 @@ msgid ""
 "Shift+R: Monitor library scan.\n"
 "S: Scheduled time for the track.\n"
 "Shift+S: Time until the selected track will play.\n"
-"T: Cart edit mode.\n"
+"T: Cart edit/insert mode.\n"
 "U: Studio up time.\n"
 "W: Weather and temperature.\n"
 "Y: Playlist modification.\n"
@@ -208,6 +209,7 @@ msgstr ""
 "Shift+F1: Deschide ajutorul online."
 
 #. Translators: The text of the help command in SPL Assistant layer when JFW 
layer is active.
+#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -232,7 +234,7 @@ msgid ""
 "Shift+R: Monitor library scan.\n"
 "S: Scheduled time for the track.\n"
 "Shift+S: Time until the selected track will play.\n"
-"T: Cart edit mode.\n"
+"T: Cart edit/insert mode.\n"
 "U: Studio up time.\n"
 "W: Weather and temperature.\n"
 "Y: Playlist modification.\n"
@@ -279,6 +281,7 @@ msgstr ""
 "Shift+F1: Deschide ajutorul online."
 
 #. Translators: The text of the help command in SPL Assistant layer when 
Window-Eyes layer is active.
+#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -305,7 +308,7 @@ msgid ""
 "Shift+R: Monitor library scan.\n"
 "S: Scheduled time for the track.\n"
 "Shift+S: Time until the selected track will play.\n"
-"T: Cart edit mode.\n"
+"T: Cart edit/insert mode.\n"
 "U: Studio up time.\n"
 "W: Weather and temperature.\n"
 "Y: Playlist modification.\n"
@@ -1884,19 +1887,3 @@ msgid ""
 msgstr ""
 "Conține suport pentru StationPlaylist Studio.\n"
 "De asemenea, adaugă comenzi globale pentru studio de oriunde."
-
-#~ msgid "Not in tracks list"
-#~ msgstr "Nu există în lista de melodii"
-
-#~ msgid "No tracks added"
-#~ msgstr "Nicio melodie adăugată"
-
-#~ msgid "Toggles status announcements between words and beeps."
-#~ msgstr "Comută anunțarea stării între cuvinte și bipuri."
-
-#~ msgid ""
-#~ "You appear to be running a version newer than the latest released "
-#~ "version. Please reinstall the official version to downgrade."
-#~ msgstr ""
-#~ "Se pare că rulați o versiune mai nouă decât ultima lansare oficială. "
-#~ "Reinstalați aplicația pentru reveni la versiunea oficială."


https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/b64f0e0e44ad/
Changeset:   b64f0e0e44ad
Branch:      None
User:        josephsl
Date:        2016-12-03 16:41:24+00:00
Summary:     GUI Helper services (17.1-dev): Main add-on settings dialog has 
been converted except for Alarms Center.

The main add-on settings dialog has been converted except for Alarms Center:
* outro and intro: requires special handling, as it would be preferable to hide 
spin boxes but there isn't an easy way. Thus items will be disabled.
* Microphone alarms: Spin controls will be converted in the next commit.
With this commit, GUI Helper conversion is almost done (destined for 17.1).

Affected #:  1 file

diff --git a/addon/appModules/splstudio/splconfui.py 
b/addon/appModules/splstudio/splconfui.py
index 49ca47c..782a1cc 100755
--- a/addon/appModules/splstudio/splconfui.py
+++ b/addon/appModules/splstudio/splconfui.py
@@ -27,90 +27,70 @@ class SPLConfigDialog(gui.SettingsDialog):
        title = _("Studio Add-on Settings")
 
        def makeSettings(self, settingsSizer):
+               SPLConfigHelper = gui.guiHelper.BoxSizerHelper(self, 
sizer=settingsSizer)
 
                # Broadcast profile controls were inspired by Config Profiles 
dialog in NVDA Core.
-               sizer = wx.BoxSizer(wx.HORIZONTAL)
-               # Translators: The label for a setting in SPL add-on dialog to 
select a broadcast profile.
-               label = wx.StaticText(self, wx.ID_ANY, label=_("Broadcast 
&profile:"))
                # 7.0: Have a copy of the sorted profiles so the actual combo 
box items can show profile flags.
                # 8.0: No need to sort as profile names from ConfigHub knows 
what to do.
                self.profileNames = list(splconfig.SPLConfig.profileNames)
                self.profileNames[0] = _("Normal profile")
-               self.profiles = wx.Choice(self, wx.ID_ANY, 
choices=self.displayProfiles(list(self.profileNames)))
+               # Translators: The label for a setting in SPL add-on dialog to 
select a broadcast profile.
+               self.profiles = SPLConfigHelper.addLabeledControl(_("Broadcast 
&profile:"), wx.Choice, choices=self.displayProfiles(list(self.profileNames)))
                self.profiles.Bind(wx.EVT_CHOICE, self.onProfileSelection)
                try:
                        
self.profiles.SetSelection(self.profileNames.index(splconfig.SPLConfig.activeProfile))
                except:
                        pass
-               sizer.Add(label)
-               sizer.Add(self.profiles)
-               settingsSizer.Add(sizer, border=10, flag=wx.BOTTOM)
 
                # Profile controls code credit: NV Access (except copy button).
-               sizer = wx.BoxSizer(wx.HORIZONTAL)
+               sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
                # Translators: The label of a button to create a new broadcast 
profile.
-               item = newButton = wx.Button(self, label=_("&New"))
-               item.Bind(wx.EVT_BUTTON, self.onNew)
-               sizer.Add(item)
+               newButton = wx.Button(self, label=_("&New"))
+               newButton.Bind(wx.EVT_BUTTON, self.onNew)
                # Translators: The label of a button to copy a broadcast 
profile.
-               item = copyButton = wx.Button(self, label=_("Cop&y"))
-               item.Bind(wx.EVT_BUTTON, self.onCopy)
-               sizer.Add(item)
+               copyButton = wx.Button(self, label=_("Cop&y"))
+               copyButton.Bind(wx.EVT_BUTTON, self.onCopy)
                # Translators: The label of a button to rename a broadcast 
profile.
-               item = self.renameButton = wx.Button(self, label=_("&Rename"))
-               item.Bind(wx.EVT_BUTTON, self.onRename)
-               sizer.Add(item)
+               self.renameButton = wx.Button(self, label=_("&Rename"))
+               self.renameButton.Bind(wx.EVT_BUTTON, self.onRename)
                # Translators: The label of a button to delete a broadcast 
profile.
-               item = self.deleteButton = wx.Button(self, label=_("&Delete"))
-               item.Bind(wx.EVT_BUTTON, self.onDelete)
-               sizer.Add(item)
+               self.deleteButton = wx.Button(self, label=_("&Delete"))
+               self.deleteButton.Bind(wx.EVT_BUTTON, self.onDelete)
                # Have a copy of the triggers dictionary.
                self._profileTriggersConfig = dict(splconfig.profileTriggers)
                # Translators: The label of a button to manage show profile 
triggers.
-               item = self.triggerButton = wx.Button(self, 
label=_("&Triggers..."))
-               item.Bind(wx.EVT_BUTTON, self.onTriggers)
-               sizer.Add(item)
-
+               self.triggerButton = wx.Button(self, label=_("&Triggers..."))
+               self.triggerButton.Bind(wx.EVT_BUTTON, self.onTriggers)
                self.switchProfile = splconfig.SPLSwitchProfile
                self.activeProfile = splconfig.SPLConfig.activeProfile
                # Used as sanity check in case switch profile is renamed or 
deleted.
                self.switchProfileRenamed = False
                self.switchProfileDeleted = False
+               sizer.sizer.AddMany((newButton, copyButton, self.renameButton, 
self.deleteButton, self.triggerButton))
                # Translators: The label for a setting in SPL Add-on settings 
to configure countdown seconds before switching profiles.
-               self.triggerThresholdLabel = wx.StaticText(self, wx.ID_ANY, 
label=_("Countdown seconds before switching profiles"))
-               sizer.Add(self.triggerThresholdLabel)
-               self.triggerThreshold = wx.SpinCtrl(self, wx.ID_ANY, min=10, 
max=60)
-               
self.triggerThreshold.SetValue(long(splconfig.SPLConfig["Advanced"]["ProfileTriggerThreshold"]))
-               self.triggerThreshold.SetSelection(-1, -1)
-               sizer.Add(self.triggerThreshold)
+               self.triggerThreshold = sizer.addLabeledControl(_("Countdown 
seconds before switching profiles"), gui.nvdaControls.SelectOnFocusSpinCtrl, 
min=10, max=60, 
initial=splconfig.SPLConfig["Advanced"]["ProfileTriggerThreshold"])
                if self.profiles.GetSelection() == 0:
                        self.renameButton.Disable()
                        self.deleteButton.Disable()
                        self.triggerButton.Disable()
-               settingsSizer.Add(sizer, border=10, flag=wx.BOTTOM)
+               SPLConfigHelper.addItem(sizer.sizer)
 
                # Translators: the label for a setting in SPL add-on settings 
to set status announcement between words and beeps.
-               
self.beepAnnounceCheckbox=wx.CheckBox(self,wx.NewId(),label=_("&Beep for status 
announcements"))
+               self.beepAnnounceCheckbox = 
SPLConfigHelper.addItem(wx.CheckBox(self, label=_("&Beep for status 
announcements")))
                
self.beepAnnounceCheckbox.SetValue(splconfig.SPLConfig["General"]["BeepAnnounce"])
-               settingsSizer.Add(self.beepAnnounceCheckbox, 
border=10,flag=wx.TOP)
 
-               sizer = wx.BoxSizer(wx.HORIZONTAL)
-               # Translators: The label for a setting in SPL add-on dialog to 
set message verbosity.
-               label = wx.StaticText(self, wx.ID_ANY, label=_("Message 
&verbosity:"))
                # Translators: One of the message verbosity levels.
                self.verbosityLevels=[("beginner",_("beginner")),
                # Translators: One of the message verbosity levels.
                ("advanced",_("advanced"))]
-               self.verbosityList = wx.Choice(self, wx.ID_ANY, choices=[x[1] 
for x in self.verbosityLevels])
+               # Translators: The label for a setting in SPL add-on dialog to 
set message verbosity.
+               self.verbosityList = 
SPLConfigHelper.addLabeledControl(_("Message &verbosity:"), wx.Choice, 
choices=[x[1] for x in self.verbosityLevels])
                
currentVerbosity=splconfig.SPLConfig["General"]["MessageVerbosity"]
                selection = (x for x,y in enumerate(self.verbosityLevels) if 
y[0]==currentVerbosity).next()
                try:
                        self.verbosityList.SetSelection(selection)
                except:
                        pass
-               sizer.Add(label)
-               sizer.Add(self.verbosityList)
-               settingsSizer.Add(sizer, border=10, flag=wx.BOTTOM)
 
                self.outroSizer = wx.BoxSizer(wx.HORIZONTAL)
                # Check box hiding method comes from Alberto Buffolino's 
Columns Review add-on.
@@ -128,7 +108,7 @@ class SPLConfigDialog(gui.SettingsDialog):
                self.endOfTrackAlarm.SetSelection(-1, -1)
                self.outroSizer.Add(self.endOfTrackAlarm)
                self.onOutroCheck(None)
-               settingsSizer.Add(self.outroSizer, border=10, flag=wx.BOTTOM)
+               SPLConfigHelper.addItem(self.outroSizer)
 
                self.introSizer = wx.BoxSizer(wx.HORIZONTAL)
                # Translators: Label for a check box in SPL add-on settings to 
notify when end of intro is approaching.
@@ -145,11 +125,8 @@ class SPLConfigDialog(gui.SettingsDialog):
                self.songRampAlarm.SetSelection(-1, -1)
                self.introSizer.Add(self.songRampAlarm)
                self.onIntroCheck(None)
-               settingsSizer.Add(self.introSizer, border=10, flag=wx.BOTTOM)
+               SPLConfigHelper.addItem(self.introSizer)
 
-               sizer = wx.BoxSizer(wx.HORIZONTAL)
-               # Translators: The label for a setting in SPL add-on dialog to 
control braille timer.
-               label = wx.StaticText(self, wx.ID_ANY, label=_("&Braille 
timer:"))
                self.brailleTimerValues=[("off",_("Off")),
                # Translators: One of the braille timer settings.
                ("outro",_("Track ending")),
@@ -157,16 +134,14 @@ class SPLConfigDialog(gui.SettingsDialog):
                ("intro",_("Track intro")),
                # Translators: One of the braille timer settings.
                ("both",_("Track intro and ending"))]
-               self.brailleTimerList = wx.Choice(self, wx.ID_ANY, 
choices=[x[1] for x in self.brailleTimerValues])
+               # Translators: The label for a setting in SPL add-on dialog to 
control braille timer.
+               self.brailleTimerList = 
SPLConfigHelper.addLabeledControl(_("&Braille timer:"), wx.Choice, 
choices=[x[1] for x in self.brailleTimerValues])
                
brailleTimerCurValue=splconfig.SPLConfig["General"]["BrailleTimer"]
                selection = (x for x,y in enumerate(self.brailleTimerValues) if 
y[0]==brailleTimerCurValue).next()
                try:
                        self.brailleTimerList.SetSelection(selection)
                except:
                        pass
-               sizer.Add(label)
-               sizer.Add(self.brailleTimerList)
-               settingsSizer.Add(sizer, border=10, flag=wx.BOTTOM)
 
                self.micSizer = wx.BoxSizer(wx.HORIZONTAL)
                # Translators: The label for a setting in SPL Add-on settings 
to change microphone alarm setting.
@@ -184,31 +159,23 @@ class SPLConfigDialog(gui.SettingsDialog):
                
self.micAlarmInterval.SetValue(long(splconfig.SPLConfig["MicrophoneAlarm"]["MicAlarmInterval"]))
                self.micAlarmInterval.SetSelection(-1, -1)
                self.micSizer.Add(self.micAlarmInterval)
-               settingsSizer.Add(self.micSizer, border=10, flag=wx.BOTTOM)
+               SPLConfigHelper.addItem(self.micSizer)
 
-               sizer = wx.BoxSizer(wx.HORIZONTAL)
-               # Translators: The label for a setting in SPL add-on dialog to 
control alarm announcement type.
-               label = wx.StaticText(self, wx.ID_ANY, label=_("&Alarm 
notification:"))
                # Translators: One of the alarm notification options.
                self.alarmAnnounceValues=[("beep",_("beep")),
                # Translators: One of the alarm notification options.
                ("message",_("message")),
                # Translators: One of the alarm notification options.
                ("both",_("both beep and message"))]
-               self.alarmAnnounceList = wx.Choice(self, wx.ID_ANY, 
choices=[x[1] for x in self.alarmAnnounceValues])
+                               # Translators: The label for a setting in SPL 
add-on dialog to control alarm announcement type.
+               self.alarmAnnounceList = 
SPLConfigHelper.addLabeledControl(_("&Alarm notification:"), wx.Choice, 
choices=[x[1] for x in self.alarmAnnounceValues])
                
alarmAnnounceCurValue=splconfig.SPLConfig["General"]["AlarmAnnounce"]
                selection = (x for x,y in enumerate(self.alarmAnnounceValues) 
if y[0]==alarmAnnounceCurValue).next()
                try:
                        self.alarmAnnounceList.SetSelection(selection)
                except:
                        pass
-               sizer.Add(label)
-               sizer.Add(self.alarmAnnounceList)
-               settingsSizer.Add(sizer, border=10, flag=wx.BOTTOM)
 
-               sizer = wx.BoxSizer(wx.HORIZONTAL)
-               # Translators: The label for a setting in SPL add-on dialog to 
control library scan announcement.
-               label = wx.StaticText(self, wx.ID_ANY, label=_("&Library scan 
announcement:"))
                self.libScanValues=[("off",_("Off")),
                # Translators: One of the library scan announcement settings.
                ("ending",_("Start and end only")),
@@ -216,45 +183,34 @@ class SPLConfigDialog(gui.SettingsDialog):
                ("progress",_("Scan progress")),
                # Translators: One of the library scan announcement settings.
                ("numbers",_("Scan count"))]
-               self.libScanList = wx.Choice(self, wx.ID_ANY, choices=[x[1] for 
x in self.libScanValues])
+               # Translators: The label for a setting in SPL add-on dialog to 
control library scan announcement.
+               self.libScanList = 
SPLConfigHelper.addLabeledControl(_("&Library scan announcement:"), wx.Choice, 
choices=[x[1] for x in self.libScanValues])
                
libScanCurValue=splconfig.SPLConfig["General"]["LibraryScanAnnounce"]
                selection = (x for x,y in enumerate(self.libScanValues) if 
y[0]==libScanCurValue).next()
                try:
                        self.libScanList.SetSelection(selection)
                except:
                        pass
-               sizer.Add(label)
-               sizer.Add(self.libScanList)
-               settingsSizer.Add(sizer, border=10, flag=wx.BOTTOM)
 
                # Translators: the label for a setting in SPL add-on settings 
to announce time including hours.
-               
self.hourAnnounceCheckbox=wx.CheckBox(self,wx.NewId(),label=_("Include &hours 
when announcing track or playlist duration"))
+               self.hourAnnounceCheckbox = 
SPLConfigHelper.addItem(wx.CheckBox(self, label=_("Include &hours when 
announcing track or playlist duration")))
                
self.hourAnnounceCheckbox.SetValue(splconfig.SPLConfig["General"]["TimeHourAnnounce"])
-               settingsSizer.Add(self.hourAnnounceCheckbox, 
border=10,flag=wx.BOTTOM)
 
-               sizer = wx.BoxSizer(wx.HORIZONTAL)
                # Translators: The label for a setting in SPL add-on dialog to 
set vertical column.
-               label = wx.StaticText(self, wx.ID_ANY, label=_("&Vertical 
column navigation announcement:"))
+               verticalColLabel = _("&Vertical column navigation 
announcement:")
                # Translators: One of the options for vertical column 
navigation denoting NVDA will announce current column positoin (e.g. second 
column position from the left).
-               self.verticalColumnsList = wx.Choice(self, wx.ID_ANY, 
choices=[_("whichever column I am reviewing"), "Status"] + 
splconfig._SPLDefaults7["ColumnAnnouncement"]["ColumnOrder"])
+               self.verticalColumnsList = 
SPLConfigHelper.addLabeledControl(verticalColLabel, wx.Choice, 
choices=[_("whichever column I am reviewing"), "Status"] + 
splconfig._SPLDefaults7["ColumnAnnouncement"]["ColumnOrder"])
                verticalColumn = 
splconfig.SPLConfig["General"]["VerticalColumnAnnounce"]
                selection = self.verticalColumnsList.FindString(verticalColumn) 
if verticalColumn is not None else 0
                try:
                        self.verticalColumnsList.SetSelection(selection)
                except:
                        pass
-               sizer.Add(label)
-               sizer.Add(self.verticalColumnsList)
-               settingsSizer.Add(sizer, border=10, flag=wx.BOTTOM)
 
                # Translators: the label for a setting in SPL add-on settings 
to toggle category sound announcement.
-               
self.categorySoundsCheckbox=wx.CheckBox(self,wx.NewId(),label=_("&Beep for 
different track categories"))
+               self.categorySoundsCheckbox = 
SPLConfigHelper.addItem(wx.CheckBox(self, label=_("&Beep for different track 
categories")))
                
self.categorySoundsCheckbox.SetValue(splconfig.SPLConfig["General"]["CategorySounds"])
-               settingsSizer.Add(self.categorySoundsCheckbox, 
border=10,flag=wx.BOTTOM)
 
-               sizer = wx.BoxSizer(wx.HORIZONTAL)
-               # Translators: the label for a setting in SPL add-on settings 
to set how track comments are announced.
-               label = wx.StaticText(self, wx.ID_ANY, label=_("&Track comment 
announcement:"))
                self.trackCommentValues=[("off",_("Off")),
                # Translators: One of the track comment notification settings.
                ("message",_("Message")),
@@ -262,72 +218,61 @@ class SPLConfigDialog(gui.SettingsDialog):
                ("beep",_("Beep")),
                # Translators: One of the track comment notification settings.
                ("both",_("Both"))]
-               self.trackCommentList = wx.Choice(self, wx.ID_ANY, 
choices=[x[1] for x in self.trackCommentValues])
+               # Translators: the label for a setting in SPL add-on settings 
to set how track comments are announced.
+               self.trackCommentList = 
SPLConfigHelper.addLabeledControl(_("&Track comment announcement:"), wx.Choice, 
choices=[x[1] for x in self.trackCommentValues])
                
trackCommentCurValue=splconfig.SPLConfig["General"]["TrackCommentAnnounce"]
                selection = (x for x,y in enumerate(self.trackCommentValues) if 
y[0]==trackCommentCurValue).next()
                try:
                        self.trackCommentList.SetSelection(selection)
                except:
                        pass
-               sizer.Add(label)
-               sizer.Add(self.trackCommentList)
-               settingsSizer.Add(sizer, border=10, flag=wx.BOTTOM)
 
                # Translators: the label for a setting in SPL add-on settings 
to toggle top and bottom notification.
-               
self.topBottomCheckbox=wx.CheckBox(self,wx.NewId(),label=_("Notify when located 
at &top or bottom of playlist viewer"))
+               self.topBottomCheckbox = 
SPLConfigHelper.addItem(wx.CheckBox(self, label=_("Notify when located at &top 
or bottom of playlist viewer")))
                
self.topBottomCheckbox.SetValue(splconfig.SPLConfig["General"]["TopBottomAnnounce"])
-               settingsSizer.Add(self.topBottomCheckbox, 
border=10,flag=wx.BOTTOM)
 
-               sizer = wx.BoxSizer(wx.HORIZONTAL)
-               # Translators: the label for a setting in SPL add-on settings 
to be notified that metadata streaming is enabled.
-               label = wx.StaticText(self, wx.ID_ANY, label=_("&Metadata 
streaming notification and connection"))
+               sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
                self.metadataValues=[("off",_("Off")),
                # Translators: One of the metadata notification settings.
                ("startup",_("When Studio starts")),
                # Translators: One of the metadata notification settings.
                ("instant",_("When instant switch profile is active"))]
-               self.metadataList = wx.Choice(self, wx.ID_ANY, choices=[x[1] 
for x in self.metadataValues])
+               # Translators: the label for a setting in SPL add-on settings 
to be notified that metadata streaming is enabled.
+               self.metadataList = sizer.addLabeledControl(_("&Metadata 
streaming notification and connection"), wx.Choice, choices=[x[1] for x in 
self.metadataValues])
                
metadataCurValue=splconfig.SPLConfig["General"]["MetadataReminder"]
                selection = (x for x,y in enumerate(self.metadataValues) if 
y[0]==metadataCurValue).next()
                try:
                        self.metadataList.SetSelection(selection)
                except:
                        pass
-               sizer.Add(label)
-               sizer.Add(self.metadataList)
                self.metadataStreams = 
list(splconfig.SPLConfig["MetadataStreaming"]["MetadataEnabled"])
                # Translators: The label of a button to manage column 
announcements.
-               item = manageMetadataButton = wx.Button(self, 
label=_("Configure metadata &streaming connection options..."))
-               item.Bind(wx.EVT_BUTTON, self.onManageMetadata)
-               sizer.Add(item)
-               settingsSizer.Add(sizer, border=10, flag=wx.BOTTOM)
+               manageMetadataButton = sizer.addItem(wx.Button(self, 
label=_("Configure metadata &streaming connection options...")))
+               manageMetadataButton.Bind(wx.EVT_BUTTON, self.onManageMetadata)
+               SPLConfigHelper.addItem(sizer.sizer)
 
-               sizer = wx.BoxSizer(wx.HORIZONTAL)
+               sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
                # Translators: the label for a setting in SPL add-on settings 
to toggle custom column announcement.
-               
self.columnOrderCheckbox=wx.CheckBox(self,wx.NewId(),label=_("Announce columns 
in the &order shown on screen"))
+               
self.columnOrderCheckbox=sizer.addItem(wx.CheckBox(self,wx.NewId(),label=_("Announce
 columns in the &order shown on screen")))
                
self.columnOrderCheckbox.SetValue(splconfig.SPLConfig["ColumnAnnouncement"]["UseScreenColumnOrder"])
                self.columnOrder = 
splconfig.SPLConfig["ColumnAnnouncement"]["ColumnOrder"]
                # Without manual conversion below, it produces a rare bug where 
clicking cancel after changing column inclusion causes new set to be retained.
                self.includedColumns = 
set(splconfig.SPLConfig["ColumnAnnouncement"]["IncludedColumns"])
-               sizer.Add(self.columnOrderCheckbox, border=10,flag=wx.BOTTOM)
                # Translators: The label of a button to manage column 
announcements.
-               item = manageColumnsButton = wx.Button(self, label=_("&Manage 
track column announcements..."))
-               item.Bind(wx.EVT_BUTTON, self.onManageColumns)
-               sizer.Add(item)
-               settingsSizer.Add(sizer, border=10, flag=wx.BOTTOM)
+               manageColumnsButton = sizer.addItem(wx.Button(self, 
label=_("&Manage track column announcements...")))
+               manageColumnsButton.Bind(wx.EVT_BUTTON, self.onManageColumns)
+               SPLConfigHelper.addItem(sizer.sizer)
 
-               sizer = wx.BoxSizer(wx.HORIZONTAL)
+               sizer = gui.guiHelper.ButtonHelper(wx.HORIZONTAL)
                # Translators: The label of a button to configure columns 
explorer slots (SPL Assistant, number row keys to announce specific columns).
-               item = columnsExplorerButton = wx.Button(self, label=_("Columns 
E&xplorer..."))
-               item.Bind(wx.EVT_BUTTON, self.onColumnsExplorer)
+               columnsExplorerButton = sizer.addButton(self, label=_("Columns 
E&xplorer..."))
+               columnsExplorerButton.Bind(wx.EVT_BUTTON, 
self.onColumnsExplorer)
                self.exploreColumns = 
splconfig.SPLConfig["General"]["ExploreColumns"]
-               sizer.Add(item)
                # Translators: The label of a button to configure columns 
explorer slots for Track Tool (SPL Assistant, number row keys to announce 
specific columns).
-               item = columnsExplorerButton = wx.Button(self, label=_("Columns 
Explorer for &Track Tool..."))
-               item.Bind(wx.EVT_BUTTON, self.onColumnsExplorerTT)
+               columnsExplorerTTButton = sizer.addButton(self, 
label=_("Columns Explorer for &Track Tool..."))
+               columnsExplorerTTButton.Bind(wx.EVT_BUTTON, 
self.onColumnsExplorerTT)
                self.exploreColumnsTT = 
splconfig.SPLConfig["General"]["ExploreColumnsTT"]
-               sizer.Add(item)
-               settingsSizer.Add(sizer, border=10, flag=wx.BOTTOM)
+               SPLConfigHelper.addItem(sizer.sizer)
 
                # Say status flags to be picked up by the dialog of this name.
                self.scheduledFor = 
splconfig.SPLConfig["SayStatus"]["SayScheduledFor"]
@@ -335,28 +280,25 @@ class SPLConfigDialog(gui.SettingsDialog):
                self.cartName = 
splconfig.SPLConfig["SayStatus"]["SayPlayingCartName"]
                self.playingTrackName = 
splconfig.SPLConfig["SayStatus"]["SayPlayingTrackName"]
 
-               sizer = wx.BoxSizer(wx.HORIZONTAL)
-               # Translators: The label of a button to open status 
announcement options such as announcing listener count.
-               item = sayStatusButton = wx.Button(self, label=_("&Status 
announcements..."))
-               item.Bind(wx.EVT_BUTTON, self.onStatusAnnouncement)
-               sizer.Add(item)
+               sizer = gui.guiHelper.ButtonHelper(wx.HORIZONTAL)
+               # Translators: The label of a button to open advanced options 
such as using SPL Controller command to invoke Assistant layer.
+               sayStatusButton = sizer.addButton(self, label=_("&Status 
announcements..."))
+               sayStatusButton.Bind(wx.EVT_BUTTON, self.onStatusAnnouncement)
 
                # Translators: The label of a button to open advanced options 
such as using SPL Controller command to invoke Assistant layer.
-               item = advancedOptButton = wx.Button(self, label=_("&Advanced 
options..."))
-               item.Bind(wx.EVT_BUTTON, self.onAdvancedOptions)
+               advancedOptButton = sizer.addButton(self, label=_("&Advanced 
options..."))
+               advancedOptButton.Bind(wx.EVT_BUTTON, self.onAdvancedOptions)
                self.splConPassthrough = 
splconfig.SPLConfig["Advanced"]["SPLConPassthrough"]
                self.compLayer = 
splconfig.SPLConfig["Advanced"]["CompatibilityLayer"]
                self.autoUpdateCheck = 
splconfig.SPLConfig["Update"]["AutoUpdateCheck"]
                self.updateInterval = 
splconfig.SPLConfig["Update"]["UpdateInterval"]
                self.updateChannel = splupdate.SPLUpdateChannel
                self.pendingChannelChange = False
-               sizer.Add(item)
-               settingsSizer.Add(sizer, border=10, flag=wx.BOTTOM)
+               SPLConfigHelper.addItem(sizer.sizer)
 
                # Translators: The label for a button in SPL add-on 
configuration dialog to reset settings to defaults.
-               item = resetButton = wx.Button(self, label=_("Reset 
settings..."))
-               item.Bind(wx.EVT_BUTTON,self.onResetConfig)
-               settingsSizer.Add(item)
+               resetButton = SPLConfigHelper.addItem(wx.Button(self, 
label=_("Reset settings...")))
+               resetButton.Bind(wx.EVT_BUTTON,self.onResetConfig)
 
        def postInit(self):
                global _configDialogOpened


https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/add0d02396f7/
Changeset:   add0d02396f7
Branch:      None
User:        josephsl
Date:        2016-12-03 20:39:26+00:00
Summary:     Merged stable

Affected #:  1 file

diff --git a/addon/appModules/splstudio/splconfui.py 
b/addon/appModules/splstudio/splconfui.py
index 782a1cc..9d42f8b 100755
--- a/addon/appModules/splstudio/splconfui.py
+++ b/addon/appModules/splstudio/splconfui.py
@@ -143,23 +143,22 @@ class SPLConfigDialog(gui.SettingsDialog):
                except:
                        pass
 
-               self.micSizer = wx.BoxSizer(wx.HORIZONTAL)
+               sizer = wx.BoxSizer(wx.HORIZONTAL)
                # Translators: The label for a setting in SPL Add-on settings 
to change microphone alarm setting.
                label = wx.StaticText(self, wx.ID_ANY, label=_("&Microphone 
alarm in seconds"))
-               self.micSizer.Add(label)
+               sizer.Add(label)
                self.micAlarm = wx.SpinCtrl(self, wx.ID_ANY, min=0, max=7200)
                
self.micAlarm.SetValue(long(splconfig.SPLConfig["MicrophoneAlarm"]["MicAlarm"]))
                self.micAlarm.SetSelection(-1, -1)
-               self.micSizer.Add(self.micAlarm)
-
+               sizer.Add(self.micAlarm)
                # Translators: The label for a setting in SPL Add-on settings 
to specify mic alarm interval.
-               self.micAlarmIntervalLabel = wx.StaticText(self, wx.ID_ANY, 
label=_("Microphone alarm &interval in seconds"))
-               self.micSizer.Add(self.micAlarmIntervalLabel)
+               label = wx.StaticText(self, wx.ID_ANY, label=_("Microphone 
alarm &interval in seconds"))
+               sizer.Add(label)
                self.micAlarmInterval = wx.SpinCtrl(self, wx.ID_ANY, min=0, 
max=60)
                
self.micAlarmInterval.SetValue(long(splconfig.SPLConfig["MicrophoneAlarm"]["MicAlarmInterval"]))
                self.micAlarmInterval.SetSelection(-1, -1)
-               self.micSizer.Add(self.micAlarmInterval)
-               SPLConfigHelper.addItem(self.micSizer)
+               sizer.Add(self.micAlarmInterval)
+               SPLConfigHelper.addItem(sizer)
 
                # Translators: One of the alarm notification options.
                self.alarmAnnounceValues=[("beep",_("beep")),


https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/4f6175e62aec/
Changeset:   4f6175e62aec
Branch:      None
User:        josephsl
Date:        2016-12-03 21:23:23+00:00
Summary:     GUi Helper services (17.1-dev): Settings dialog conversion 
complete.

Microphone alarm sizer is now powered by GUi Helper. This is a stepping stone 
for Alarms Center (in 2017) and allows prompt label and value to be aligned 
horizontally.
Settings conversion done, ready for NVDA 2016.4. The conversion work is 
destined for 17.1.

Affected #:  1 file

diff --git a/addon/appModules/splstudio/splconfui.py 
b/addon/appModules/splstudio/splconfui.py
index 9d42f8b..32d41bb 100755
--- a/addon/appModules/splstudio/splconfui.py
+++ b/addon/appModules/splstudio/splconfui.py
@@ -143,21 +143,11 @@ class SPLConfigDialog(gui.SettingsDialog):
                except:
                        pass
 
-               sizer = wx.BoxSizer(wx.HORIZONTAL)
+               sizer = gui.guiHelper.BoxSizerHelper(self, 
orientation=wx.HORIZONTAL)
                # Translators: The label for a setting in SPL Add-on settings 
to change microphone alarm setting.
-               label = wx.StaticText(self, wx.ID_ANY, label=_("&Microphone 
alarm in seconds"))
-               sizer.Add(label)
-               self.micAlarm = wx.SpinCtrl(self, wx.ID_ANY, min=0, max=7200)
-               
self.micAlarm.SetValue(long(splconfig.SPLConfig["MicrophoneAlarm"]["MicAlarm"]))
-               self.micAlarm.SetSelection(-1, -1)
-               sizer.Add(self.micAlarm)
+               self.micAlarm = sizer.addLabeledControl(_("&Microphone alarm in 
seconds"), gui.nvdaControls.SelectOnFocusSpinCtrl, min=0, max=7200, 
initial=splconfig.SPLConfig["MicrophoneAlarm"]["MicAlarm"])
                # Translators: The label for a setting in SPL Add-on settings 
to specify mic alarm interval.
-               label = wx.StaticText(self, wx.ID_ANY, label=_("Microphone 
alarm &interval in seconds"))
-               sizer.Add(label)
-               self.micAlarmInterval = wx.SpinCtrl(self, wx.ID_ANY, min=0, 
max=60)
-               
self.micAlarmInterval.SetValue(long(splconfig.SPLConfig["MicrophoneAlarm"]["MicAlarmInterval"]))
-               self.micAlarmInterval.SetSelection(-1, -1)
-               sizer.Add(self.micAlarmInterval)
+               self.micAlarmInterval = sizer.addLabeledControl(_("Microphone 
alarm &interval in seconds"), gui.nvdaControls.SelectOnFocusSpinCtrl, min=0, 
max=60, initial=splconfig.SPLConfig["MicrophoneAlarm"]["MicAlarmInterval"])
                SPLConfigHelper.addItem(sizer)
 
                # Translators: One of the alarm notification options.
@@ -273,17 +263,15 @@ class SPLConfigDialog(gui.SettingsDialog):
                self.exploreColumnsTT = 
splconfig.SPLConfig["General"]["ExploreColumnsTT"]
                SPLConfigHelper.addItem(sizer.sizer)
 
+               sizer = gui.guiHelper.ButtonHelper(wx.HORIZONTAL)
+               # Translators: The label of a button to open status 
announcement dialog such as announcing listener count.
+               sayStatusButton = sizer.addButton(self, label=_("&Status 
announcements..."))
+               sayStatusButton.Bind(wx.EVT_BUTTON, self.onStatusAnnouncement)
                # Say status flags to be picked up by the dialog of this name.
                self.scheduledFor = 
splconfig.SPLConfig["SayStatus"]["SayScheduledFor"]
                self.listenerCount = 
splconfig.SPLConfig["SayStatus"]["SayListenerCount"]
                self.cartName = 
splconfig.SPLConfig["SayStatus"]["SayPlayingCartName"]
                self.playingTrackName = 
splconfig.SPLConfig["SayStatus"]["SayPlayingTrackName"]
-
-               sizer = gui.guiHelper.ButtonHelper(wx.HORIZONTAL)
-               # Translators: The label of a button to open advanced options 
such as using SPL Controller command to invoke Assistant layer.
-               sayStatusButton = sizer.addButton(self, label=_("&Status 
announcements..."))
-               sayStatusButton.Bind(wx.EVT_BUTTON, self.onStatusAnnouncement)
-
                # Translators: The label of a button to open advanced options 
such as using SPL Controller command to invoke Assistant layer.
                advancedOptButton = sizer.addButton(self, label=_("&Advanced 
options..."))
                advancedOptButton.Bind(wx.EVT_BUTTON, self.onAdvancedOptions)


https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/83f2499539b6/
Changeset:   83f2499539b6
Branch:      None
User:        josephsl
Date:        2016-12-04 04:36:25+00:00
Summary:     Readme entry on GUI Helper servicesm Track Dial is gone from 
readme.

Affected #:  1 file

diff --git a/readme.md b/readme.md
index 1b5fef6..69b4872 100755
--- a/readme.md
+++ b/readme.md
@@ -9,7 +9,7 @@ This add-on package provides improved usage of StationPlaylist 
Studio, as well a
 
 For more information about the add-on, read the [add-on guide][4]. For 
developers seeking to know how to build the add-on, see buildInstructions.txt 
located at the root of the add-on source code repository.
 
-IMPORTANT: This add-on requires NVDA 2015.3 or later and StationPlaylist 
Studio 5.00 or later. If you have installed NVDA 2016.1 or later on Windows 8 
and later, disable audio ducking mode. Also, add-on 8.0/16.10 requires Studio 
5.10 and later, and for broadcasters using Studio 5.0x, a long-term support 
version (15.x) is available.
+IMPORTANT: This add-on requires NVDA 2016.4 or later and StationPlaylist 
Studio 5.10 or later. If you have installed NVDA 2016.1 or later on Windows 8 
and later, disable audio ducking mode. Also, add-on 8.0/16.10 requires Studio 
5.10 and later, and for broadcasters using Studio 5.0x, a long-term support 
version (15.x) is available.
 
 ## Shortcut keys
 
@@ -32,7 +32,7 @@ IMPORTANT: This add-on requires NVDA 2015.3 or later and 
StationPlaylist Studio
 
 ## Unassigned commands
 
-The following commands are not assigned by default; if you wish to assign it, 
use Input Gestures dialog to add custom commands.
+The following commands are not assigned by default; if you wish to assign 
them, use Input Gestures dialog to add custom commands.
 
 * Switching to SPL Studio window from any program.
 * SPL Controller layer.
@@ -149,10 +149,6 @@ Depending on edition, SPL Studio allows up to 96 carts to 
be assigned for playba
 
 To learn cart assignments, from SPL Studio, press Alt+NVDA+3. Pressing the 
cart command once will tell you which jingle is assigned to the command. 
Pressing the cart command twice will play the jingle. Press Alt+NvDA+3 to exit 
cart explorer. See the add-on guide for more information on cart explorer.
 
-## Track Dial
-
-You can use arrow keys to review various information about a track. To turn 
Track Dial on, while a track is focused in the main playlist viewer, press the 
command you assigned for toggling Track Dial. Then use left and right arrow 
keys to review information such as artist, duration and so on. Alternatively, 
press Control+Alt+left or right arrows to navigate between columns without 
invoking Track Dial.
-
 ## Track time analysis
 
 To obtain length to play selected tracks, mark current track for start of 
track time analysis (SPL Assistant, F9), then press SPL Assistant, F10 when 
reaching end of selection.
@@ -169,9 +165,9 @@ From studio window, you can press Alt+NVDA+0 to open the 
add-on configuration di
 
 If you are using Studio on a touchscreen computer running Windows 8 or later 
and have NVDA 2012.3 or later installed, you can perform some Studio commands 
from the touchscreen. First use three finger tap to switch to SPL mode, then 
use the touch commands listed above to perform commands.
 
-<<<<<<< HEAD
 ## Version 17.1-dev
 
+* Improvements to presentation of various add-on dialogs thanks to NVDA 2016.4 
features.
 * Added ability to press Control+Alt+up or down arrow keys to move between 
tracks (specifically, track columns) vertically just as one is moving to next 
or previous row in a table.
 * Added a combo box in add-on settings dialog to set which column should be 
announced when moving through columns vertically.
 * Removed Track Dial (NVDA's version of enhanced arrow keys), replaced by 
Columns explorer and Column Navigator/table navigation commands). This affects 
Studio and Track Tool.


https://bitbucket.org/nvdaaddonteam/stationplaylist/commits/3cd0c8a4579b/
Changeset:   3cd0c8a4579b
Branch:      master
User:        josephsl
Date:        2016-12-10 01:11:51+00:00
Summary:     Merge branch 'stable'

Affected #:  3 files

diff --git a/addon/locale/es/LC_MESSAGES/nvda.po 
b/addon/locale/es/LC_MESSAGES/nvda.po
index 692e403..15504a9 100755
--- a/addon/locale/es/LC_MESSAGES/nvda.po
+++ b/addon/locale/es/LC_MESSAGES/nvda.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: StationPlaylist 1.1-dev\n"
 "Report-Msgid-Bugs-To: nvda-translations@xxxxxxxxxxxxx\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2016-11-21 07:50-0800\n"
+"PO-Revision-Date: 2016-12-02 16:47+0100\n"
 "Last-Translator: Juan C. Buño <oprisniki@xxxxxxxxx>\n"
 "Language-Team: Add-ons translation team <LL@xxxxxx>\n"
 "Language: es_ES\n"
@@ -16,7 +16,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.7\n"
+"X-Generator: Poedit 1.6.11\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
 #. Translators: Presented when only Track Tool is running (Track Dial requires 
Studio to be running as well).
@@ -144,7 +144,6 @@ msgid "Status: {name}"
 msgstr "Estado: {name}"
 
 #. Translators: The text of the help command in SPL Assistant layer.
-#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -183,8 +182,8 @@ msgstr ""
 "C: Anunciar el nombre de la pista actual en reproducción.\n"
 "D: tiempo restante para la lista de reproducción.\n"
 "E: Estado general de metadatos de streaming.\n"
-"1 hasta 4, 0: Estado de Metadatos de streaming para el codificador DSP y "
-"cuatro URLs adicionales.\n"
+"shift+1 hasta shift+4, shift+0: Estado de Metadatos de streaming para el "
+"codificador DSP y cuatro URLs adicionales.\n"
 "H: Duración de pistas en este slot horario .\n"
 "Shift+H: Duración de pistas seleccionadas.\n"
 "I: recuento de oyentes. \n"
@@ -211,7 +210,6 @@ msgstr ""
 "Shift+F1: abre una guía de usuario en línea."
 
 #. Translators: The text of the help command in SPL Assistant layer when JFW 
layer is active.
-#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -252,8 +250,8 @@ msgstr ""
 "C: conmuta el explorador de cart.\n"
 "Shift+C: Anunciar el nombre de la pista actual en reproducción.\n"
 "E: Estado general de metadatos de streaming.\n"
-"1 hasta 4, 0: Estado de Metadatos de streaming para el codificador DSP y "
-"cuatro URLs adicionales.\n"
+"shift+1 hasta shift+4, shift+0: Estado de Metadatos de streaming para el "
+"codificador DSP y cuatro URLs adicionales.\n"
 "Shift+E: graba en fichero.\n"
 "F: buscador de pistas.\n"
 "H: Duración de pistas en este slot horario .\n"
@@ -282,7 +280,6 @@ msgstr ""
 "Shift+F1: abre una guía de usuario en línea."
 
 #. Translators: The text of the help command in SPL Assistant layer when 
Window-Eyes layer is active.
-#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -329,7 +326,7 @@ msgstr ""
 "F: buscador de pistas.\n"
 "R: tiempo restante para la pista en reproducción.\n"
 "G: Estado general de metadatos del streaming.\n"
-"Shift+1 hasta shift+4, 0: Estado de Metadatos de streaming para el "
+"Shift+1 hasta shift+4, shift+0: Estado de Metadatos de streaming para el "
 "codificador DSP y cuatro URLs adicionales.\n"
 "H: Duración de pistas en este slot horario .\n"
 "Shift+H: Duración de pistas restantes en este slot horario.\n"

diff --git a/addon/locale/gl/LC_MESSAGES/nvda.po 
b/addon/locale/gl/LC_MESSAGES/nvda.po
index 828ab79..aa19814 100755
--- a/addon/locale/gl/LC_MESSAGES/nvda.po
+++ b/addon/locale/gl/LC_MESSAGES/nvda.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: StationPlaylist 1.1-dev\n"
 "Report-Msgid-Bugs-To: nvda-translations@xxxxxxxxxxxxx\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2016-11-21 07:53-0800\n"
+"PO-Revision-Date: 2016-12-02 16:49+0100\n"
 "Last-Translator: Juan C. Buño <oprisniki@xxxxxxxxx>\n"
 "Language-Team: Add-ons translation team <oprisniki@xxxxxxxxx>\n"
 "Language: gl\n"
@@ -16,7 +16,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.7\n"
+"X-Generator: Poedit 1.6.11\n"
 "X-Poedit-SourceCharset: UTF-8\n"
 
 #. Translators: Presented when only Track Tool is running (Track Dial requires 
Studio to be running as well).
@@ -144,7 +144,6 @@ msgid "Status: {name}"
 msgstr "Estado: {name}"
 
 #. Translators: The text of the help command in SPL Assistant layer.
-#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -183,8 +182,8 @@ msgstr ""
 "C: Anunciar o nome da pista actual en reprodución.\n"
 "D: tempo restante para a lista de reprodución.\n"
 "E: Estado xeral dos metadatos do streaming.\n"
-"Shift+1 ata shift+4, 0: Estado dos Metadatos do streaming para o codificador "
-"DSP e cuatro URLs adicionais.\n"
+"Shift+1 ata shift+4, sift+0: Estado dos Metadatos do streaming para o "
+"codificador DSP e cuatro URLs adicionais.\n"
 "H: Duración das pistas neste slot horario .\n"
 "Shift+H: Duración das pistas restantes neste slot horario.\n"
 "I: conta de oíntes.\n"
@@ -211,7 +210,6 @@ msgstr ""
 "Shift+F1: Abre a guía de usuario en liña."
 
 #. Translators: The text of the help command in SPL Assistant layer when JFW 
layer is active.
-#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -252,8 +250,8 @@ msgstr ""
 "C: conmutar explorador de cart.\n"
 "Shift+C: Anunciar o nome da pista actual en reprodución.\n"
 "E: Estado xeral dos metadatos do streaming.\n"
-"shift+1 ata shift+4, 0: Estado dos Metadatos do streaming para o codificador "
-"DSP e cuatro URLs adicionais.\n"
+"shift+1 ata shift+4, shift+0: Estado dos Metadatos do streaming para o "
+"codificador DSP e cuatro URLs adicionais.\n"
 "Shift+E: grabar en ficheiro.\n"
 "F: buscador de pistas.\n"
 "H: Duración de pistas neste slot horario .\n"
@@ -282,7 +280,6 @@ msgstr ""
 "Shift+F1: Abre a guía de usuario en liña."
 
 #. Translators: The text of the help command in SPL Assistant layer when 
Window-Eyes layer is active.
-#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -329,8 +326,8 @@ msgstr ""
 "F: buscador de pistas.\n"
 "R: Tempo restante para a pista actualmente en reprodución.\n"
 "G: Estado xeral dos metadatos do streaming.\n"
-"Shift+1 ata Shift+4, 0: Estado dos Metadatos do streaming para o codificador "
-"DSP e cuatro URLs adicionais.\n"
+"Shift+1 ata Shift+4, shift+0: Estado dos Metadatos do streaming para o "
+"codificador DSP e cuatro URLs adicionais.\n"
 "H: Duración de pistas en este slot horario .\n"
 "Shift+H: Duración das pistas restantes neste slot horario.\n"
 "K: Move ó marcador da pista.\n"

diff --git a/addon/locale/ro/LC_MESSAGES/nvda.po 
b/addon/locale/ro/LC_MESSAGES/nvda.po
index 7b7d574..35d3fe1 100644
--- a/addon/locale/ro/LC_MESSAGES/nvda.po
+++ b/addon/locale/ro/LC_MESSAGES/nvda.po
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: stationPlaylist 6.4\n"
 "Report-Msgid-Bugs-To: nvda-translations@xxxxxxxxxxxxx\n"
 "POT-Creation-Date: 2016-03-04 19:00+1000\n"
-"PO-Revision-Date: 2016-11-21 08:12-0800\n"
+"PO-Revision-Date: 2016-12-02 12:24+0200\n"
 "Last-Translator: Florian Ionașcu <florianionascu@xxxxxxxxxxx>\n"
 "Language-Team: \n"
 "Language: ro\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.7\n"
+"X-Generator: Poedit 1.8.9\n"
 
 #. Translators: Presented when only Track Tool is running (Track Dial requires 
Studio to be running as well).
 msgid "Only Track Tool is running, Track Dial is unavailable"
@@ -141,7 +141,6 @@ msgid "Status: {name}"
 msgstr "Stare: {name}"
 
 #. Translators: The text of the help command in SPL Assistant layer.
-#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -209,7 +208,6 @@ msgstr ""
 "Shift+F1: Deschide ajutorul online."
 
 #. Translators: The text of the help command in SPL Assistant layer when JFW 
layer is active.
-#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"
@@ -281,7 +279,6 @@ msgstr ""
 "Shift+F1: Deschide ajutorul online."
 
 #. Translators: The text of the help command in SPL Assistant layer when 
Window-Eyes layer is active.
-#, fuzzy
 msgid ""
 "After entering SPL Assistant, press:\n"
 "A: Automation.\n"

Repository URL: https://bitbucket.org/nvdaaddonteam/stationplaylist/

--

This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.

Other related posts: