@@ -9,7 +9,7 @@ type DMXMode struct {
99 FTMacros []* FTMacro
1010}
1111
12- func (obj * DMXMode ) CreateReferencePointer () {
12+ func (obj * DMXMode ) CreateReferencePointer (refPointers * ReferencePointers ) {
1313 refPointers .DMXModes [obj .Name ] = obj
1414 for _ , element := range obj .DMXChannels {
1515 refPointers .DMXChannels [obj .Name + "." + element .GetName ()] = element
@@ -28,12 +28,12 @@ func (obj *DMXMode) CreateReferencePointer() {
2828 }
2929}
3030
31- func (obj * DMXMode ) ResolveReference () {
31+ func (obj * DMXMode ) ResolveReference (refPointers * ReferencePointers ) {
3232 obj .Geometry .Ptr = refPointers .Geometries [obj .Geometry .String ]
3333 for i := range obj .DMXChannels {
34- (obj .DMXChannels )[i ].ResolveReference (obj )
34+ (obj .DMXChannels )[i ].ResolveReference (refPointers , obj )
3535 }
36- ResolveReferences (& obj .FTMacros )
36+ ResolveReferences (refPointers , & obj .FTMacros )
3737}
3838
3939type DMXChannel struct {
@@ -50,10 +50,10 @@ func (element DMXChannel) GetName() string {
5050 return element .Geometry + "_" + element .LogicalChannels [0 ].Attribute .String
5151}
5252
53- func (obj * DMXChannel ) ResolveReference (mode * DMXMode ) {
53+ func (obj * DMXChannel ) ResolveReference (refPointers * ReferencePointers , mode * DMXMode ) {
5454 obj .InitialFunction .Ptr = refPointers .ChannelFunctions [mode .Name + "." + obj .InitialFunction .String ]
5555 // obj.Geometry.Ptr = refPointers.Geometries[obj.Geometry.String] //TODO: dmxchannels only contain the last part of the reference name -> other solution required?
56- ResolveReferences (& obj .LogicalChannels )
56+ ResolveReferences (refPointers , & obj .LogicalChannels )
5757}
5858
5959type LogicalChannel struct {
@@ -65,9 +65,9 @@ type LogicalChannel struct {
6565 ChannelFunctions []* ChannelFunction
6666}
6767
68- func (obj * LogicalChannel ) ResolveReference () {
68+ func (obj * LogicalChannel ) ResolveReference (refPointers * ReferencePointers ) {
6969 obj .Attribute .Ptr = refPointers .Attributes [obj .Attribute .String ]
70- ResolveReferences (& obj .ChannelFunctions )
70+ ResolveReferences (refPointers , & obj .ChannelFunctions )
7171}
7272
7373type ChannelFunction struct {
@@ -96,7 +96,7 @@ type ChannelFunction struct {
9696 SubChannelSets []* SubChannelSet
9797}
9898
99- func (obj * ChannelFunction ) ResolveReference () {
99+ func (obj * ChannelFunction ) ResolveReference (refPointers * ReferencePointers ) {
100100 obj .Attribute .Ptr = refPointers .Attributes [obj .Attribute .String ]
101101 obj .Wheel .Ptr = refPointers .Wheels [obj .Wheel .String ]
102102 obj .Emitter .Ptr = refPointers .Emitters [obj .Emitter .String ]
@@ -105,8 +105,8 @@ func (obj *ChannelFunction) ResolveReference() {
105105 obj .Gamut .Ptr = refPointers .Gamuts [obj .Gamut .String ]
106106 obj .DMXProfile .Ptr = refPointers .DMXProfiles [obj .DMXProfile .String ]
107107
108- ResolveReferences (& obj .ChannelSets )
109- ResolveReferences (& obj .SubChannelSets )
108+ ResolveReferences (refPointers , & obj .ChannelSets )
109+ ResolveReferences (refPointers , & obj .SubChannelSets )
110110}
111111
112112type ChannelSet struct {
@@ -117,7 +117,7 @@ type ChannelSet struct {
117117 WheelSlot NodeReference [WheelSlot ]
118118}
119119
120- func (obj * ChannelSet ) ResolveReference () {
120+ func (obj * ChannelSet ) ResolveReference (refPointers * ReferencePointers ) {
121121 obj .WheelSlot .Ptr = refPointers .WheelSlots [obj .WheelSlot .String ]
122122}
123123
@@ -129,7 +129,7 @@ type SubChannelSet struct {
129129 DMXProfile NodeReference [DMXProfile ]
130130}
131131
132- func (obj * SubChannelSet ) ResolveReference () {
132+ func (obj * SubChannelSet ) ResolveReference (refPointers * ReferencePointers ) {
133133 obj .SubPhysicalUnit .Ptr = refPointers .SubPhysicalUnits [obj .SubPhysicalUnit .String ]
134134 obj .DMXProfile .Ptr = refPointers .DMXProfiles [obj .DMXProfile .String ]
135135}
@@ -147,33 +147,33 @@ type FTMacro struct {
147147 MacroDMXs []* MacroDMX
148148}
149149
150- func (obj * FTMacro ) ResolveReference () {
150+ func (obj * FTMacro ) ResolveReference (refPointers * ReferencePointers ) {
151151 obj .ChannelFunction .Ptr = refPointers .ChannelFunctions [obj .ChannelFunction .String ]
152- ResolveReferences (& obj .MacroDMXs )
152+ ResolveReferences (refPointers , & obj .MacroDMXs )
153153}
154154
155155type MacroDMX struct {
156156 Steps []* MacroDMXStep
157157}
158158
159- func (obj * MacroDMX ) ResolveReference () {
160- ResolveReferences (& obj .Steps )
159+ func (obj * MacroDMX ) ResolveReference (refPointers * ReferencePointers ) {
160+ ResolveReferences (refPointers , & obj .Steps )
161161}
162162
163163type MacroDMXStep struct {
164164 Duration float32
165165 DMXValues []* MacroDMXValue
166166}
167167
168- func (obj * MacroDMXStep ) ResolveReference () {
169- ResolveReferences (& obj .DMXValues )
168+ func (obj * MacroDMXStep ) ResolveReference (refPointers * ReferencePointers ) {
169+ ResolveReferences (refPointers , & obj .DMXValues )
170170}
171171
172172type MacroDMXValue struct {
173173 Value DMXValue
174174 DMXChannel NodeReference [DMXChannel ]
175175}
176176
177- func (obj * MacroDMXValue ) ResolveReference () {
177+ func (obj * MacroDMXValue ) ResolveReference (refPointers * ReferencePointers ) {
178178 obj .DMXChannel .Ptr = refPointers .DMXChannels [obj .DMXChannel .String ]
179179}
0 commit comments