UniversalDevicesInc / pg3-python-interface

PG3 Python Interface
MIT License
0 stars 1 forks source link

Add a non-node based controller class #8

Open bpaauwe opened 4 years ago

bpaauwe commented 4 years ago

I'd like to propose adding a new controller class that isn't a node. I've tested this idea with the V2 interface and it seems to work and gives the node server developer the option to create either a controller node or just a controller. The class hierarchy looks something like this:

class Node (object): # no changes from existing class NodeServer(object): # the original Controller class minus the node inheritance class Controller(NodeServer, Node): # new Controller class inheriting from both classes above

Only needs to provide node class variables, and the _gotConfig() method

With this structure, existing node servers still work without changes as they instantiate a Controller class. But it allows the option to instantiate a NodeServer class and have access to all the Controller API without creating a node.

mkohanim commented 4 years ago

+1

With kind regards,


Michel Kohanim CEO

(p) 818.631.0333 http://www.universal-devices.comhttp://www.universal-devices.com/


From: Bob Paauwe notifications@github.com Sent: Monday, August 17, 2020 1:17 PM To: UniversalDevicesInc/pg3-python-interface pg3-python-interface@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [UniversalDevicesInc/pg3-python-interface] Add a non-node based controller class (#8)

I'd like to propose adding a new controller class that isn't a node. I've tested this idea with the V2 interface and it seems to work and gives the node server developer the option to create either a controller node or just a controller. The class hierarchy looks something like this:

class Node (object): # no changes from existing class NodeServer(object): # the original Controller class minus the node inheritance class Controller(NodeServer, Node): # new Controller class inheriting from both classes above

Only needs to provide node class variables, and the _gotConfig() method

With this structure, existing node servers still work without changes as they instantiate a Controller class. But it allows the option to instantiate a NodeServer class and have access to all the Controller API without creating a node.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/UniversalDevicesInc/pg3-python-interface/issues/8, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADMVJPKDOUOOETC2AWSVSJDSBGF4FANCNFSM4QCE3B2A.