@@ -146,7 +146,7 @@ def __del__(self):
146146 @property
147147 def name (self ):
148148 """The name of the JACK client (read-only)."""
149- return _ffi . string (_lib .jack_get_client_name (self ._ptr )). decode ( )
149+ return _decode (_lib .jack_get_client_name (self ._ptr ))
150150
151151 @property
152152 def samplerate (self ):
@@ -605,7 +605,7 @@ def set_shutdown_callback(self, callback):
605605 """
606606 @self ._callback ('JackInfoShutdownCallback' )
607607 def callback_wrapper (code , reason , _ ):
608- callback (Status (code ), _ffi . string (reason ). decode ( ))
608+ callback (Status (code ), _decode (reason ))
609609
610610 _lib .jack_on_info_shutdown (self ._ptr , callback_wrapper , _ffi .NULL )
611611
@@ -844,7 +844,7 @@ def set_client_registration_callback(self, callback):
844844 """
845845 @self ._callback ('JackClientRegistrationCallback' )
846846 def callback_wrapper (name , register , _ ):
847- callback (_ffi . string (name ). decode ( ), bool (register ))
847+ callback (_decode (name ), bool (register ))
848848
849849 _check (_lib .jack_set_client_registration_callback (
850850 self ._ptr , callback_wrapper , _ffi .NULL ),
@@ -1055,8 +1055,7 @@ def callback_wrapper(port_id, old_name, new_name, _):
10551055 else :
10561056 port = None
10571057 try :
1058- callback (port , _ffi .string (old_name ).decode (),
1059- _ffi .string (new_name ).decode ())
1058+ callback (port , _decode (old_name ), _decode (new_name ))
10601059 except CallbackExit :
10611060 return _FAILURE
10621061 return _SUCCESS
@@ -1237,7 +1236,7 @@ def get_uuid_for_client_name(self, name):
12371236 self ._ptr , name .encode ()), _lib .jack_free )
12381237 if not uuid :
12391238 raise JackError ('Unable to get session ID for {0!r}' .format (name ))
1240- return _ffi . string (uuid ). decode ( )
1239+ return _decode (uuid )
12411240
12421241 def get_client_name_by_uuid (self , uuid ):
12431242 """Get the client name for a session ID.
@@ -1250,7 +1249,7 @@ def get_client_name_by_uuid(self, uuid):
12501249 self ._ptr , uuid .encode ()), _lib .jack_free )
12511250 if not name :
12521251 raise JackError ('Unable to get client name for {0!r}' .format (uuid ))
1253- return _ffi . string (name ). decode ( )
1252+ return _decode (name )
12541253
12551254 def get_port_by_name (self , name ):
12561255 """Get port by name.
@@ -1358,7 +1357,7 @@ def _port_list_from_pointers(self, names):
13581357 name = names [idx ]
13591358 if not name :
13601359 break
1361- ports .append (self .get_port_by_name (_ffi . string (name ). decode ( )))
1360+ ports .append (self .get_port_by_name (_decode (name )))
13621361 idx += 1
13631362 return ports
13641363
@@ -1425,7 +1424,7 @@ def __ne__(self, other):
14251424 @property
14261425 def name (self ):
14271426 """Full name of the JACK port (read-only)."""
1428- return _ffi . string (_lib .jack_port_name (self ._ptr )). decode ( )
1427+ return _decode (_lib .jack_port_name (self ._ptr ))
14291428
14301429 @property
14311430 def shortname (self ):
@@ -1438,7 +1437,7 @@ def shortname(self):
14381437 `port_name_size()`, it will be truncated.
14391438
14401439 """
1441- return _ffi . string (_lib .jack_port_short_name (self ._ptr )). decode ( )
1440+ return _decode (_lib .jack_port_short_name (self ._ptr ))
14421441
14431442 @shortname .setter
14441443 def shortname (self , shortname ):
@@ -1454,7 +1453,7 @@ def aliases(self):
14541453 result = []
14551454 if _lib .jack_port_get_aliases (self ._ptr , aliasesptr ) > 0 :
14561455 for i in 0 , 1 :
1457- alias = _ffi . string (aliases [i ]). decode ( )
1456+ alias = _decode (aliases [i ])
14581457 if alias :
14591458 result .append (alias )
14601459
@@ -2385,7 +2384,7 @@ def version():
23852384
23862385def version_string ():
23872386 """Get human-readable JACK version."""
2388- return _ffi . string (_lib .jack_get_version_string ()). decode ( )
2387+ return _decode (_lib .jack_get_version_string ())
23892388
23902389
23912390def client_name_size ():
@@ -2460,7 +2459,7 @@ def _set_error_or_info_function(callback, setter):
24602459 else :
24612460 @_ffi .callback ('void (*)(const char*)' )
24622461 def callback_wrapper (msg ):
2463- callback (_ffi . string (msg ). decode ( ))
2462+ callback (_decode (msg ))
24642463
24652464 _keepalive [setter ] = callback_wrapper
24662465 setter (callback_wrapper )
@@ -2473,3 +2472,7 @@ def _check(error_code, msg):
24732472 """Check error code and raise JackError if non-zero."""
24742473 if error_code :
24752474 raise JackError ('{0} ({1})' .format (msg , error_code ))
2475+
2476+
2477+ def _decode (cdata ):
2478+ return _ffi .string (cdata ).decode ()
0 commit comments