@@ -3285,6 +3285,7 @@ def clear(self):
32853285 self .parameterData = []
32863286 self .parameterRanges = []
32873287 self .parameterValues = []
3288+ self .parameterScalePoints = []
32883289 self .programCount = 0
32893290 self .programCurrent = - 1
32903291 self .programNames = []
@@ -3497,7 +3498,7 @@ def get_parameter_info(self, pluginId, parameterId):
34973498 return self .fPluginsInfo .get (pluginId , self .fFallbackPluginInfo ).parameterInfo [parameterId ]
34983499
34993500 def get_parameter_scalepoint_info (self , pluginId , parameterId , scalePointId ):
3500- return PyCarlaScalePointInfo
3501+ return self . fPluginsInfo . get ( pluginId , self . fFallbackPluginInfo ). parameterScalePoints [ parameterId ][ scalePointId ]
35013502
35023503 def get_parameter_data (self , pluginId , parameterId ):
35033504 return self .fPluginsInfo .get (pluginId , self .fFallbackPluginInfo ).parameterData [parameterId ]
@@ -3778,13 +3779,34 @@ def _set_parameterCountInfo(self, pluginId, count, info):
37783779 plugin .parameterData = []
37793780 plugin .parameterRanges = []
37803781 plugin .parameterValues = []
3782+ plugin .parameterScalePoints = []
37813783
37823784 # add placeholders
37833785 for _ in range (count ):
37843786 plugin .parameterInfo .append (PyCarlaParameterInfo .copy ())
37853787 plugin .parameterData .append (PyParameterData .copy ())
37863788 plugin .parameterRanges .append (PyParameterRanges .copy ())
37873789 plugin .parameterValues .append (0.0 )
3790+ plugin .parameterScalePoints .append ([])
3791+
3792+ def _set_parameterScalePoint (self , pluginId , param , point , value , label ):
3793+ plugin = self .fPluginsInfo .get (pluginId , None )
3794+ if plugin is None :
3795+ print ("_set_parameterScalePointCount failed for" , pluginId )
3796+ return
3797+
3798+ if param < 0 or param >= plugin .parameterCount :
3799+ print ("_set_parameterScalePointCount failed for parameter" , param )
3800+ return
3801+
3802+ if point < 0 or point >= plugin .parameterInfo [param ]["scalePointCount" ]:
3803+ print ("_set_parameterScalePointCount failed for scale point" , point )
3804+ return
3805+
3806+ plugin .parameterScalePoints [param ][point ] = {
3807+ "value" : value ,
3808+ "label" : label ,
3809+ }
37883810
37893811 def _set_programCount (self , pluginId , count ):
37903812 plugin = self .fPluginsInfo .get (pluginId , None )
@@ -3823,6 +3845,11 @@ def _set_parameterInfo(self, pluginId, paramIndex, info):
38233845 else :
38243846 print ("_set_parameterInfo failed for" , pluginId , "and index" , paramIndex )
38253847
3848+ # add placeholders
3849+ plugin .parameterScalePoints [paramIndex ] = []
3850+ for _ in range (info ["scalePointCount" ]):
3851+ plugin .parameterScalePoints [paramIndex ].append ({})
3852+
38263853 def _set_parameterData (self , pluginId , paramIndex , data ):
38273854 plugin = self .fPluginsInfo .get (pluginId , None )
38283855 if plugin is None :
0 commit comments