diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index ff45ff41..038fdbbc 100644 Binary files a/diylc/diylc-library/lib/diylc-core.jar and b/diylc/diylc-library/lib/diylc-core.jar differ diff --git a/diylc/diylc-library/src/org/diylc/components/guitar/HumbuckerPickup.java b/diylc/diylc-library/src/org/diylc/components/guitar/HumbuckerPickup.java index fe564905..4bdc4728 100644 --- a/diylc/diylc-library/src/org/diylc/components/guitar/HumbuckerPickup.java +++ b/diylc/diylc-library/src/org/diylc/components/guitar/HumbuckerPickup.java @@ -28,11 +28,14 @@ import java.awt.Graphics2D; import java.awt.Point; import java.awt.Rectangle; import java.awt.Shape; +import java.awt.Stroke; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; +import java.awt.geom.Path2D; +import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; - + import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.common.HorizontalAlignment; import org.diylc.common.IPlugInPort; @@ -54,7 +57,7 @@ import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; @ComponentDescriptor(name = "Humbucker Pickup", category = "Guitar", author = "Branislav Stojkovic", - description = "PAF-style humbucker guitar pickup", stretchable = false, zOrder = IDIYComponent.COMPONENT, + description = "Double-coil humbucker guitar pickup (PAF, Mini Humbuckers, Filtertrons)", stretchable = false, zOrder = IDIYComponent.COMPONENT, instanceNamePrefix = "PKP", autoEdit = false, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Guitar Wiring Diagram") public class HumbuckerPickup extends AbstractTransparentComponent { @@ -68,14 +71,19 @@ public class HumbuckerPickup extends AbstractTransparentComponent { private static Size WIDTH = new Size(36.5d, SizeUnit.mm); private static Size LENGTH = new Size(68.58d, SizeUnit.mm); private static Size WIDTH_MINI = new Size(29.3d, SizeUnit.mm); - private static Size LENGTH_MINI = new Size(67.4d, SizeUnit.mm); + private static Size LENGTH_MINI = new Size(67.4d, SizeUnit.mm); + private static Size WIDTH_FILTERTRON = new Size(34.9d, SizeUnit.mm); + private static Size LENGTH_FILTERTRON = new Size(71.4d, SizeUnit.mm); + private static Size FILTETRON_CUTOUT_MARGIN = new Size(1d, SizeUnit.mm); private static Size LIP_WIDTH = new Size(12.7d, SizeUnit.mm); private static Size LIP_LENGTH = new Size(7.9d, SizeUnit.mm); private static Size EDGE_RADIUS = new Size(4d, SizeUnit.mm); - private static Size POINT_MARGIN = new Size(1.5d, SizeUnit.mm); + private static Size POINT_MARGIN = new Size(1.5d, SizeUnit.mm); + private static Size SCREW_LINE = new Size(1d, SizeUnit.mm); private static Size POINT_SIZE = new Size(2d, SizeUnit.mm); - private static Size LIP_HOLE_SIZE = new Size(1.5d, SizeUnit.mm); - private static Size POLE_SIZE = new Size(3d, SizeUnit.mm); + private static Size LIP_HOLE_SIZE = new Size(2d, SizeUnit.mm); + private static Size POLE_SIZE = new Size(4d, SizeUnit.mm); + private static Size POLE_SIZE_FILTERTRON = new Size(5d, SizeUnit.mm); private static Size POLE_SPACING = new Size(10.1d, SizeUnit.mm); private String value = ""; @@ -85,7 +93,8 @@ public class HumbuckerPickup extends AbstractTransparentComponent { private Color color = BASE_COLOR; private Color poleColor = METAL_COLOR; private HumbuckerType type; - private boolean cover; + private boolean cover; + private Boolean legs = true; private Color bobinColor1 = BOBIN_COLOR1; private Color bobinColor2 = BOBIN_COLOR2; private PolePieceType coilType1; @@ -102,9 +111,11 @@ public class HumbuckerPickup extends AbstractTransparentComponent { if (alpha < MAX_ALPHA) { g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } - g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color); - g2d.fill(body[0]); - g2d.fill(body[1]); + g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color); + if (getType() != HumbuckerType.Filtertron) + g2d.fill(body[0]); + if (body[1] != null) + g2d.fill(body[1]); if (body[4] != null) { g2d.setColor(getBobinColor1()); @@ -113,6 +124,10 @@ public class HumbuckerPickup extends AbstractTransparentComponent { if (body[5] != null) { g2d.setColor(getBobinColor2()); g2d.fill(body[5]); + } + if (getType() == HumbuckerType.Filtertron) { + g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color); + g2d.fill(body[0]); } g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : POINT_COLOR); @@ -134,23 +149,33 @@ public class HumbuckerPickup extends AbstractTransparentComponent { : color.darker(); } - g2d.setColor(finalBorderColor); - g2d.draw(body[0]); - g2d.draw(body[1]); + g2d.setColor(finalBorderColor); + if (getType() != HumbuckerType.Filtertron) + g2d.draw(body[0]); + if (body[1] != null) + g2d.draw(body[1]); if (!outlineMode && componentState != ComponentState.DRAGGING) { g2d.setColor(getPoleColor()); g2d.fill(body[3]); g2d.setColor(darkerOrLighter(getPoleColor())); - g2d.draw(body[3]); - - if (body[4] != null) { - g2d.setColor(getBobinColor1().darker()); - g2d.draw(body[4]); - } - if (body[5] != null) { - g2d.setColor(getBobinColor2().darker()); - g2d.draw(body[5]); + g2d.draw(body[3]); + if (body[6] != null) + g2d.draw(body[6]); + + if (getType() != HumbuckerType.Filtertron) { + if (body[4] != null) { + g2d.setColor(getBobinColor1().darker()); + g2d.draw(body[4]); + } + if (body[5] != null) { + g2d.setColor(getBobinColor2().darker()); + g2d.draw(body[5]); + } } + } + if (getType() == HumbuckerType.Filtertron) { + g2d.setColor(finalBorderColor); + g2d.draw(body[0]); } Color finalLabelColor; @@ -175,7 +200,7 @@ public class HumbuckerPickup extends AbstractTransparentComponent { @SuppressWarnings("incomplete-switch") public Shape[] getBody() { if (body == null) { - body = new Shape[6]; + body = new Shape[7]; int x = controlPoint.x; int y = controlPoint.y; @@ -186,53 +211,103 @@ public class HumbuckerPickup extends AbstractTransparentComponent { int edgeRadius = (int) EDGE_RADIUS.convertToPixels(); int pointMargin = (int) POINT_MARGIN.convertToPixels(); int pointSize = getClosestOdd(POINT_SIZE.convertToPixels()); - int lipHoleSize = getClosestOdd(LIP_HOLE_SIZE.convertToPixels()); - - body[0] = - new Area(new RoundRectangle2D.Double(x + pointMargin - length, y - pointMargin, length, width, edgeRadius, - edgeRadius)); - - if (!getCover()) { - int bobinWidth = width / 2; + int lipHoleSize = getClosestOdd(LIP_HOLE_SIZE.convertToPixels()); + int poleSize = (int) getType().getPoleSize().convertToPixels(); + int poleSpacing = (int) POLE_SPACING.convertToPixels(); + int coilSpacing = width / 2; + int coilMargin = (width - coilSpacing) / 2; + int poleMargin = (length - poleSpacing * 5) / 2; + + Area base = new Area(new RoundRectangle2D.Double(x + pointMargin - length, y - pointMargin, length, width, edgeRadius, + edgeRadius)); + + // base or cover + body[0] = new Area(base); + if (getType() == HumbuckerType.Filtertron) { + int cutoutMargin = (int) FILTETRON_CUTOUT_MARGIN.convertToPixels(); + int cutoutHeight = poleSize + 2 * cutoutMargin; + int cutoutWidth = 5 * poleSpacing + poleSize + 2 * cutoutMargin; + Area cutout = new Area(new RoundRectangle2D.Double(x + pointMargin - length + poleMargin - poleSize / 2 - cutoutMargin, y + - pointMargin + coilMargin - poleSize / 2 - cutoutMargin, cutoutWidth, cutoutHeight, cutoutHeight, cutoutHeight)); + ((Area)body[0]).subtract(cutout); + cutout = new Area(new RoundRectangle2D.Double(x + pointMargin - length + poleMargin - poleSize / 2 - cutoutMargin, y + - pointMargin + width - coilMargin - poleSize / 2 - cutoutMargin, cutoutWidth, cutoutHeight, cutoutHeight, cutoutHeight)); + ((Area)body[0]).subtract(cutout); + int middleCutoutWidth = poleSpacing / 5; + cutout = new Area(new Rectangle2D.Double(x + pointMargin - length / 2 - middleCutoutWidth / 2, y + - pointMargin + width / 4, middleCutoutWidth, width / 2)); + ((Area)body[0]).subtract(cutout); + if (!getLegs()) { + cutout = new Area(new Ellipse2D.Double(x + pointMargin - length + lipHoleSize * 2, y + - pointMargin + width / 2 - lipHoleSize * 0.75, lipHoleSize * 1.5, lipHoleSize * 1.5)); + ((Area)body[0]).subtract(cutout); + cutout = new Area(new Ellipse2D.Double(x + pointMargin - lipHoleSize * 3, y + - pointMargin + width / 2 - lipHoleSize * 0.75, lipHoleSize* 1.5, lipHoleSize* 1.5)); + ((Area)body[0]).subtract(cutout); + } + } + + // bobins + if (!getCover() || getType() == HumbuckerType.Filtertron) { + int bobinWidth = width / 2; + int bobinRadius = (int) (getType() == HumbuckerType.Filtertron ? edgeRadius * 1.1f : bobinWidth); body[4] = new Area(new RoundRectangle2D.Double(x + pointMargin - length, y - pointMargin, length, bobinWidth, - bobinWidth, bobinWidth)); + bobinRadius, bobinRadius)); body[5] = new Area(new RoundRectangle2D.Double(x + pointMargin - length, y - pointMargin + bobinWidth, length, - bobinWidth, bobinWidth, bobinWidth)); + bobinWidth, bobinRadius, bobinRadius)); } - - body[1] = - new Area(new RoundRectangle2D.Double(x + pointMargin - length - lipLength, y - pointMargin + width / 2 - - lipWidth / 2, length + 2 * lipLength, lipWidth, edgeRadius / 2, edgeRadius / 2)); - Area lipArea = new Area(body[1]); - lipArea.subtract((Area) (body[0])); - lipArea.subtract(new Area(new Ellipse2D.Double(x + pointMargin - length - lipLength / 2, y - pointMargin + width - / 2 - lipHoleSize / 2, lipHoleSize, lipHoleSize))); - lipArea.subtract(new Area(new Ellipse2D.Double(x + pointMargin + lipLength / 2, y - pointMargin + width / 2 - - lipHoleSize / 2, lipHoleSize, lipHoleSize))); - body[1] = lipArea; + + // legs + if (getLegs()) { + Area legArea = new Area(new RoundRectangle2D.Double(x + pointMargin - length - lipLength, y - pointMargin + width / 2 + - lipWidth / 2, length + 2 * lipLength, lipWidth, edgeRadius / 2, edgeRadius / 2)); + legArea.subtract((Area) (body[0])); + legArea.subtract(new Area(new Ellipse2D.Double(x + pointMargin - length - lipLength / 2, y - pointMargin + width + / 2 - lipHoleSize / 2, lipHoleSize, lipHoleSize))); + legArea.subtract(new Area(new Ellipse2D.Double(x + pointMargin + lipLength / 2, y - pointMargin + width / 2 + - lipHoleSize / 2, lipHoleSize, lipHoleSize))); + legArea.subtract(base); + body[1] = legArea; + } + + // contact point body[2] = new Area(new Ellipse2D.Double(x - pointSize / 2, y - pointSize / 2, pointSize, pointSize)); - int poleSize = (int) POLE_SIZE.convertToPixels(); - int poleSpacing = (int) POLE_SPACING.convertToPixels(); - int coilSpacing = width / 2; - int coilMargin = (width - coilSpacing) / 2; - int poleMargin = (length - poleSpacing * 5) / 2; - Area poleArea = new Area(); + Area poleArea = new Area(); + Area poleDecorationArea = new Area(); if (getCoilType1() == PolePieceType.Rail) { poleArea.add(new Area( new RoundRectangle2D.Double(x + pointMargin - length + poleMargin - poleSize / 2, y - pointMargin + coilMargin - poleSize / 2, poleSpacing * 5 + poleSize, poleSize, poleSize / 2, poleSize / 2))); - } else if (getCoilType1() == PolePieceType.Rods) { + } else if (getCoilType1() == PolePieceType.Rods || getCoilType1() == PolePieceType.Screws) { + Path2D screwPath = new Path2D.Double(); for (int i = 0; i < 6; i++) { - if (getType() == HumbuckerType.PAF || !getCover()) { - Ellipse2D pole = - new Ellipse2D.Double(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2, y - - pointMargin + coilMargin - poleSize / 2, poleSize, poleSize); - poleArea.add(new Area(pole)); - } + Ellipse2D pole = + new Ellipse2D.Double(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2, y + - pointMargin + coilMargin - poleSize / 2, poleSize, poleSize); + poleArea.add(new Area(pole)); + if (getCoilType1() == PolePieceType.Screws) { + if (i % 2 == 0) { + screwPath.moveTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2, y + - pointMargin + coilMargin - poleSize / 2); + screwPath.lineTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2 + poleSize, y + - pointMargin + coilMargin - poleSize / 2 + poleSize); + } else { + screwPath.moveTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2, y + - pointMargin + coilMargin - poleSize / 2 + poleSize); + screwPath.lineTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2 + poleSize, y + - pointMargin + coilMargin - poleSize / 2); + } + } + } + if (getCoilType1() == PolePieceType.Screws) { + Stroke pathStroke = ObjectCache.getInstance().fetchBasicStroke((float) SCREW_LINE.convertToPixels()); + Area screwArea = new Area(pathStroke.createStrokedShape(screwPath)); + screwArea.intersect(poleArea); + poleDecorationArea.add(screwArea); } } @@ -240,16 +315,37 @@ public class HumbuckerPickup extends AbstractTransparentComponent { poleArea.add(new Area(new RoundRectangle2D.Double(x + pointMargin - length + poleMargin - poleSize / 2, y - pointMargin + width - coilMargin - poleSize / 2, poleSpacing * 5 + poleSize, poleSize, poleSize / 2, poleSize / 2))); - } else if (getCoilType1() == PolePieceType.Rods) { + } else if (getCoilType2() == PolePieceType.Rods|| getCoilType2() == PolePieceType.Screws) { + Path2D screwPath = new Path2D.Double(); for (int i = 0; i < 6; i++) { Ellipse2D pole = new Ellipse2D.Double(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2, y - pointMargin + width - coilMargin - poleSize / 2, poleSize, poleSize); - poleArea.add(new Area(pole)); + poleArea.add(new Area(pole)); + if (getCoilType1() == PolePieceType.Screws) { + if (i % 2 == 1) { + screwPath.moveTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2, y + - pointMargin + width - coilMargin - poleSize / 2); + screwPath.lineTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2 + poleSize, y + - pointMargin + width - coilMargin - poleSize / 2 + poleSize); + } else { + screwPath.moveTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2, y + - pointMargin + width - coilMargin - poleSize / 2 + poleSize); + screwPath.lineTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2 + poleSize, y + - pointMargin + width - coilMargin - poleSize / 2); + } + } + } + if (getCoilType2() == PolePieceType.Screws) { + Stroke pathStroke = ObjectCache.getInstance().fetchBasicStroke((float) SCREW_LINE.convertToPixels()); + Area screwArea = new Area(pathStroke.createStrokedShape(screwPath)); + screwArea.intersect(poleArea); + poleDecorationArea.add(screwArea); } } - body[3] = poleArea; + body[3] = poleArea; + body[6] = poleDecorationArea; // Rotate if needed if (orientation != Orientation.DEFAULT) { @@ -356,6 +452,19 @@ public class HumbuckerPickup extends AbstractTransparentComponent { this.cover = cover; // Invalidate the body body = null; + } + + @EditableProperty + public Boolean getLegs() { + if (legs == null) + legs = true; + return legs; + } + + public void setLegs(Boolean legs) { + this.legs = legs; + // Invalidate the body + body = null; } @Override @@ -430,7 +539,7 @@ public class HumbuckerPickup extends AbstractTransparentComponent { @EditableProperty(name = "Pole Pieces 1") public PolePieceType getCoilType1() { if (coilType1 == null) { - return PolePieceType.Rods; + return PolePieceType.Screws; } return coilType1; } @@ -457,14 +566,16 @@ public class HumbuckerPickup extends AbstractTransparentComponent { public static enum HumbuckerType { - PAF(WIDTH, LENGTH), Mini(WIDTH_MINI, LENGTH_MINI); + PAF(WIDTH, LENGTH, POLE_SIZE), Mini(WIDTH_MINI, LENGTH_MINI, POLE_SIZE), Filtertron(WIDTH_FILTERTRON, LENGTH_FILTERTRON, POLE_SIZE_FILTERTRON); private Size width; - private Size length; + private Size length; + private Size poleSize; - private HumbuckerType(Size width, Size length) { + private HumbuckerType(Size width, Size length, Size poleSize) { this.width = width; - this.length = length; + this.length = length; + this.poleSize = poleSize; } public Size getWidth() { @@ -473,6 +584,10 @@ public class HumbuckerPickup extends AbstractTransparentComponent { public Size getLength() { return length; + } + + public Size getPoleSize() { + return poleSize; } @Override @@ -482,6 +597,6 @@ public class HumbuckerPickup extends AbstractTransparentComponent { } public enum PolePieceType { - Rods, Rail, None; + Rods, Rail, Screws, None; } } diff --git a/diylc/diylc-library/src/org/diylc/components/misc/BatterySymbol.java b/diylc/diylc-library/src/org/diylc/components/misc/BatterySymbol.java index 1343da89..3e306715 100644 --- a/diylc/diylc-library/src/org/diylc/components/misc/BatterySymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/misc/BatterySymbol.java @@ -34,7 +34,7 @@ import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; import org.diylc.core.measures.VoltageUnit; -@ComponentDescriptor(name = "Battery (symbol)", author = "N9XYP", category = "Schematics", +@ComponentDescriptor(name = "Battery (symbol)", author = "N9XYP", category = "Schematic Symbols", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "B", description = "Battery schematic symbol", zOrder = IDIYComponent.COMPONENT) public class BatterySymbol extends AbstractSchematicLeadedSymbol { diff --git a/diylc/diylc-library/src/org/diylc/components/misc/GroundSymbol.java b/diylc/diylc-library/src/org/diylc/components/misc/GroundSymbol.java index 3c78dbe0..dc1f5843 100644 --- a/diylc/diylc-library/src/org/diylc/components/misc/GroundSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/misc/GroundSymbol.java @@ -39,7 +39,7 @@ import org.diylc.core.annotations.EditableProperty; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -@ComponentDescriptor(name = "Ground (symbol)", author = "Branislav Stojkovic", category = "Schematics", +@ComponentDescriptor(name = "Ground (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", instanceNamePrefix = "GND", description = "Ground schematic symbol", stretchable = false, zOrder = IDIYComponent.COMPONENT, bomPolicy = BomPolicy.NEVER_SHOW, autoEdit = false) public class GroundSymbol extends AbstractComponent { diff --git a/diylc/diylc-library/src/org/diylc/components/passive/CapacitorSymbol.java b/diylc/diylc-library/src/org/diylc/components/passive/CapacitorSymbol.java index 86f1150b..6ff86c08 100644 --- a/diylc/diylc-library/src/org/diylc/components/passive/CapacitorSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/passive/CapacitorSymbol.java @@ -37,7 +37,7 @@ import org.diylc.core.measures.Capacitance; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -@ComponentDescriptor(name = "Capacitor (symbol)", author = "Branislav Stojkovic", category = "Schematics", +@ComponentDescriptor(name = "Capacitor (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "Capacitor schematic symbol with an optional polarity sign", zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class) diff --git a/diylc/diylc-library/src/org/diylc/components/passive/InductorSymbol.java b/diylc/diylc-library/src/org/diylc/components/passive/InductorSymbol.java index cf63a816..2bae218f 100644 --- a/diylc/diylc-library/src/org/diylc/components/passive/InductorSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/passive/InductorSymbol.java @@ -39,7 +39,7 @@ import org.diylc.core.measures.Resistance; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -@ComponentDescriptor(name = "Inductor (symbol)", author = "Branislav Stojkovic", category = "Schematics", +@ComponentDescriptor(name = "Inductor (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "L", description = "Inductor schematic symbol", zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class) diff --git a/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerSymbol.java b/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerSymbol.java index 661aa908..36df6612 100644 --- a/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerSymbol.java @@ -35,7 +35,7 @@ import org.diylc.core.annotations.KeywordPolicy; import org.diylc.components.Abstract3LegSymbol; import org.diylc.components.semiconductors.SymbolFlipping; -@ComponentDescriptor(name = "Potentiometer (symbol)", author = "MCbx", category = "Schematics", +@ComponentDescriptor(name = "Potentiometer (symbol)", author = "MCbx", category = "Schematic Symbols", instanceNamePrefix = "VR", description = "Potentiometer symbol", stretchable = false, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic") public class PotentiometerSymbol extends Abstract3LegSymbol { diff --git a/diylc/diylc-library/src/org/diylc/components/passive/ResistorSymbol.java b/diylc/diylc-library/src/org/diylc/components/passive/ResistorSymbol.java index 36eda44c..63365b57 100644 --- a/diylc/diylc-library/src/org/diylc/components/passive/ResistorSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/passive/ResistorSymbol.java @@ -37,7 +37,7 @@ import org.diylc.core.measures.Resistance; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -@ComponentDescriptor(name = "Resistor (symbol)", author = "Branislav Stojkovic", category = "Schematics", +@ComponentDescriptor(name = "Resistor (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "R", description = "Resistor schematic symbol", zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class) diff --git a/diylc/diylc-library/src/org/diylc/components/passive/TransformerCoil.java b/diylc/diylc-library/src/org/diylc/components/passive/TransformerCoil.java index e5a0d7c7..1925d911 100644 --- a/diylc/diylc-library/src/org/diylc/components/passive/TransformerCoil.java +++ b/diylc/diylc-library/src/org/diylc/components/passive/TransformerCoil.java @@ -45,11 +45,7 @@ import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; -@ComponentDescriptor( - name = "Transformer Coil (symbol)", - author = "Branislav Stojkovic", - category = "Schematics", - instanceNamePrefix = "L", +@ComponentDescriptor(name = "Transformer Coil (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", instanceNamePrefix = "L", description = "Transformer coil symbol. Use multiple instances together with \"Transformer Core Symbol\"
to draw transformer schematics.", stretchable = false, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic") diff --git a/diylc/diylc-library/src/org/diylc/components/passive/TransformerCore.java b/diylc/diylc-library/src/org/diylc/components/passive/TransformerCore.java index d6ae954d..54e3fd68 100644 --- a/diylc/diylc-library/src/org/diylc/components/passive/TransformerCore.java +++ b/diylc/diylc-library/src/org/diylc/components/passive/TransformerCore.java @@ -44,11 +44,7 @@ import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; -@ComponentDescriptor( - name = "Transformer Core (symbol)", - author = "Branislav Stojkovic", - category = "Schematics", - instanceNamePrefix = "T", +@ComponentDescriptor(name = "Transformer Core (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", instanceNamePrefix = "T", description = "Transformer core symbol. Use multiple instances together with \"Transformer Coil Symbol\"
to draw transformer schematics.", stretchable = true, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, creationMethod = CreationMethod.POINT_BY_POINT, keywordTag = "Schematic") diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/BJTSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/BJTSymbol.java index 86113a8f..bdbc2d6c 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/BJTSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/BJTSymbol.java @@ -35,7 +35,7 @@ import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; -@ComponentDescriptor(name = "BJT (symbol)", author = "Branislav Stojkovic", category = "Schematics", +@ComponentDescriptor(name = "BJT (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", instanceNamePrefix = "Q", description = "Bipolar junction transistor schematic symbol", stretchable = false, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG_AND_VALUE, keywordTag = "Schematic") public class BJTSymbol extends Abstract3LegSymbol { diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/DiodeSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/DiodeSymbol.java index fca4fded..d8b4db0e 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/DiodeSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/DiodeSymbol.java @@ -33,7 +33,7 @@ import org.diylc.core.annotations.KeywordPolicy; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -@ComponentDescriptor(name = "Diode (symbol)", author = "Branislav Stojkovic", category = "Schematics", +@ComponentDescriptor(name = "Diode (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "D", description = "Diode schematic symbol", zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class) diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/ICSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/ICSymbol.java index 95698a7b..aa4ac1e1 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/ICSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/ICSymbol.java @@ -52,7 +52,7 @@ import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; -@ComponentDescriptor(name = "IC (symbol)", author = "Branislav Stojkovic", category = "Schematics", +@ComponentDescriptor(name = "IC (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", instanceNamePrefix = "IC", description = "IC symbol with 3 or 5 contacts", stretchable = false, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG_AND_VALUE, keywordTag = "Schematic") public class ICSymbol extends AbstractTransparentComponent { diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/JFETSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/JFETSymbol.java index 0c8d7e6f..c2a57285 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/JFETSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/JFETSymbol.java @@ -33,7 +33,7 @@ import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; -@ComponentDescriptor(name = "JFET (symbol)", author = "Branislav Stojkovic", category = "Schematics", +@ComponentDescriptor(name = "JFET (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", instanceNamePrefix = "Q", description = "JFET transistor schematic symbol", stretchable = false, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG_AND_VALUE, keywordTag = "Schematic") public class JFETSymbol extends Abstract3LegSymbol { diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/LEDSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/LEDSymbol.java index 628cce0e..7cc52b4b 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/LEDSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/LEDSymbol.java @@ -32,7 +32,7 @@ import org.diylc.core.IDIYComponent; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.KeywordPolicy; -@ComponentDescriptor(name = "LED (symbol)", author = "Branislav Stojkovic", category = "Schematics", +@ComponentDescriptor(name = "LED (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "D", description = "Diode schematic symbol", zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class) diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/MOSFETSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/MOSFETSymbol.java index e749f8e1..8f8e213a 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/MOSFETSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/MOSFETSymbol.java @@ -33,7 +33,7 @@ import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; -@ComponentDescriptor(name = "MOSFET (symbol)", author = "Branislav Stojkovic", category = "Schematics", +@ComponentDescriptor(name = "MOSFET (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", instanceNamePrefix = "Q", description = "MOSFET transistor schematic symbol", stretchable = false, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG_AND_VALUE, keywordTag = "Schematic") public class MOSFETSymbol extends Abstract3LegSymbol { diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/PhotoDiodeSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/PhotoDiodeSymbol.java index bf805785..491d32d2 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/PhotoDiodeSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/PhotoDiodeSymbol.java @@ -35,7 +35,7 @@ import org.diylc.core.annotations.KeywordPolicy; @ComponentDescriptor( name = "PhotoDiode (symbol)", author = "N9XYP", - category = "Schematics", + category = "Schematic Symbols", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "D", description = "PhotoDiode schematic symbol", diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/SchottkyDiodeSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/SchottkyDiodeSymbol.java index 691e89d8..1acd69b1 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/SchottkyDiodeSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/SchottkyDiodeSymbol.java @@ -33,7 +33,7 @@ import org.diylc.core.annotations.KeywordPolicy; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -@ComponentDescriptor(name = "Schottky Siode (symbol)", author = "Branislav Stojkovic", category = "Schematics", +@ComponentDescriptor(name = "Schottky Siode (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "D", description = "Schottky diode schematic symbol", zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class) diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/ZenerDiodeSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/ZenerDiodeSymbol.java index 07304d75..bd2de371 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/ZenerDiodeSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/ZenerDiodeSymbol.java @@ -33,7 +33,7 @@ import org.diylc.core.annotations.KeywordPolicy; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -@ComponentDescriptor(name = "Zener Diode (symbol)", author = "Branislav Stojkovic", category = "Schematics", +@ComponentDescriptor(name = "Zener Diode (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "D", description = "Zener diode schematic symbol", zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class) diff --git a/diylc/diylc-library/src/org/diylc/components/tube/DiodeSymbol.java b/diylc/diylc-library/src/org/diylc/components/tube/DiodeSymbol.java index b71680f3..02e76cac 100644 --- a/diylc/diylc-library/src/org/diylc/components/tube/DiodeSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/tube/DiodeSymbol.java @@ -37,7 +37,7 @@ import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; -@ComponentDescriptor(name = "Diode (symbol)", author = "Branislav Stojkovic", category = "Schematics", +@ComponentDescriptor(name = "Diode (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", instanceNamePrefix = "V", description = "Diode tube symbol", stretchable = false, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_VALUE, transformer = TubeSymbolTransformer.class) public class DiodeSymbol extends AbstractTubeSymbol { diff --git a/diylc/diylc-library/src/org/diylc/components/tube/PentodeSymbol.java b/diylc/diylc-library/src/org/diylc/components/tube/PentodeSymbol.java index 08b5c390..70a04eec 100644 --- a/diylc/diylc-library/src/org/diylc/components/tube/PentodeSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/tube/PentodeSymbol.java @@ -36,7 +36,7 @@ import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; -@ComponentDescriptor(name = "Pentode (symbol)", author = "Branislav Stojkovic", category = "Schematics", +@ComponentDescriptor(name = "Pentode (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", instanceNamePrefix = "V", description = "Pentode tube symbol", stretchable = false, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_VALUE, transformer = TubeSymbolTransformer.class) diff --git a/diylc/diylc-library/src/org/diylc/components/tube/TriodeSymbol.java b/diylc/diylc-library/src/org/diylc/components/tube/TriodeSymbol.java index cbba8ff8..c70ff9e8 100644 --- a/diylc/diylc-library/src/org/diylc/components/tube/TriodeSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/tube/TriodeSymbol.java @@ -36,7 +36,7 @@ import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; -@ComponentDescriptor(name = "Triode (symbol)", author = "Branislav Stojkovic", category = "Schematics", +@ComponentDescriptor(name = "Triode (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", instanceNamePrefix = "V", description = "Triode tube symbol", stretchable = false, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_VALUE, transformer = TubeSymbolTransformer.class) diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index ff45ff41..038fdbbc 100644 Binary files a/diylc/diylc-swing/lib/diylc-core.jar and b/diylc/diylc-swing/lib/diylc-core.jar differ diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index b62710ff..fd356c18 100644 Binary files a/diylc/diylc-swing/library/main.jar and b/diylc/diylc-swing/library/main.jar differ diff --git a/diylc/diylc-swing/update.xml b/diylc/diylc-swing/update.xml index 87d12258..3f7f2df9 100644 --- a/diylc/diylc-swing/update.xml +++ b/diylc/diylc-swing/update.xml @@ -2150,6 +2150,10 @@ NEW_FEATURE "P-Bass Pickup" added + + NEW_FEATURE + Filtertron pickup type added within "Humbucker Pickup" as well as screw pole pieces for all humbucker types + NEW_FEATURE "Tantalum Capacitor" added diff --git a/diylc/diylc-swing/variants.xml b/diylc/diylc-swing/variants.xml index 94497fd9..1b65c3b1 100644 --- a/diylc/diylc-swing/variants.xml +++ b/diylc/diylc-swing/variants.xml @@ -18,6 +18,14 @@ Alpha 127 + + Model + + + + Orientation + DEFAULT + Pole Color @@ -27,14 +35,6 @@ 255 - - Orientation - DEFAULT - - - Model - - Type Stratocaster @@ -73,16 +73,16 @@ 127 - Pole Color - + Model + Orientation DEFAULT - Model - + Pole Color + Type @@ -117,16 +117,16 @@ 127 - Pole Color - + Model + Orientation DEFAULT - Model - + Pole Color + Type @@ -161,16 +161,16 @@ 127 - Pole Color - + Model + Orientation DEFAULT - Model - + Pole Color + Type @@ -205,16 +205,16 @@ 127 - Pole Color - + Model + Orientation DEFAULT - Model - + Pole Color + Type @@ -249,16 +249,16 @@ 127 - Pole Color - + Model + Orientation DEFAULT - Model - + Pole Color + Type @@ -289,10 +289,6 @@ DPDT - - Alpha - 127 - Body @@ -302,10 +298,18 @@ 255 + + Alpha + 127 + Orientation VERTICAL + + Type + DPDT + Border @@ -315,10 +319,6 @@ 255 - - Type - DPDT - Spacing @@ -359,25 +359,25 @@ SPDT - Alpha - 127 + Body + - Body - + Alpha + 127 Orientation VERTICAL - - Border - - Type SPDT + + Border + + Spacing @@ -781,10 +781,8 @@ - Value - - - + Alpha + 127 Body @@ -796,8 +794,10 @@ - Alpha - 127 + Value + + + Orientation @@ -812,14 +812,14 @@ 255 - - Voltage - - Display BOTH + + Voltage + + Label @@ -871,8 +871,12 @@ - Alpha - 127 + Value + + + + + Body @@ -884,12 +888,8 @@ - Value - - - - - + Alpha + 127 Orientation @@ -904,14 +904,14 @@ 255 - - Display - BOTH - Voltage + + Display + BOTH + Label @@ -971,13 +971,8 @@ - Value - - - - - - + Alpha + 127 Body @@ -989,8 +984,13 @@ - Alpha - 127 + Value + + + + + + Orientation @@ -1005,14 +1005,14 @@ 255 - - Voltage - - Display BOTH + + Voltage + + Label @@ -1068,19 +1068,19 @@ - Value - - - - + Alpha + 127 Body - Alpha - 127 + Value + + + + Orientation @@ -1090,14 +1090,14 @@ Border - - Voltage - - Display BOTH + + Voltage + + Label @@ -1125,241 +1125,6 @@ - - Semiconductors.DIP IC - - - DIP8 - - - Row Spacing - - 0.3 - in - - - - Pins - _8 - - - Alpha - 127 - - - Body - - - - Value - - - - Orientation - DEFAULT - - - Border - - 89 - 89 - 89 - 255 - - - - Display - BOTH - - - Label - - - - Display Pin #s - NO - - - Indent - - 89 - 89 - 89 - 255 - - - - Pin Spacing - - 0.1 - in - - - - - - 0 - 0 - - - 0 - 20 - - - 0 - 40 - - - 0 - 60 - - - 60 - 0 - - - 60 - 20 - - - 60 - 40 - - - 60 - 60 - - - false - - - DIP16 - - - Row Spacing - - 0.3 - in - - - - Pins - _16 - - - Alpha - 127 - - - Body - - - - Value - - - - Orientation - DEFAULT - - - Border - - - - Display - BOTH - - - Label - - - - Display Pin #s - NO - - - Indent - - - - Pin Spacing - - 0.1 - in - - - - - - 0 - 0 - - - 0 - 20 - - - 0 - 40 - - - 0 - 60 - - - 0 - 80 - - - 0 - 100 - - - 0 - 120 - - - 0 - 140 - - - 60 - 0 - - - 60 - 20 - - - 60 - 40 - - - 60 - 60 - - - 60 - 80 - - - 60 - 100 - - - 60 - 120 - - - 60 - 140 - - - false - - - Passive.Resistor @@ -2256,20 +2021,255 @@ + + Semiconductors.DIP IC + + + DIP8 + + + Pins + _8 + + + Row Spacing + + 0.3 + in + + + + Value + + + + Body + + + + Alpha + 127 + + + Orientation + DEFAULT + + + Border + + 89 + 89 + 89 + 255 + + + + Display + BOTH + + + Label + + + + Display Pin #s + NO + + + Indent + + 89 + 89 + 89 + 255 + + + + Pin Spacing + + 0.1 + in + + + + + + 0 + 0 + + + 0 + 20 + + + 0 + 40 + + + 0 + 60 + + + 60 + 0 + + + 60 + 20 + + + 60 + 40 + + + 60 + 60 + + + false + + + DIP16 + + + Pins + _16 + + + Row Spacing + + 0.3 + in + + + + Value + + + + Body + + + + Alpha + 127 + + + Orientation + DEFAULT + + + Border + + + + Display + BOTH + + + Label + + + + Display Pin #s + NO + + + Indent + + + + Pin Spacing + + 0.1 + in + + + + + + 0 + 0 + + + 0 + 20 + + + 0 + 40 + + + 0 + 60 + + + 0 + 80 + + + 0 + 100 + + + 0 + 120 + + + 0 + 140 + + + 60 + 0 + + + 60 + 20 + + + 60 + 40 + + + 60 + 60 + + + 60 + 80 + + + 60 + 100 + + + 60 + 120 + + + 60 + 140 + + + false + + + Tubes.Tube Socket Noval - - Base - B9A - Angle 0 + + Base + B9A + Alpha 127 @@ -2335,14 +2335,14 @@ Octal - - Base - OCTAL - Angle 0 + + Base + OCTAL + Alpha 127 @@ -2404,6 +2404,10 @@ Covered PAF-Style + + Alpha + 127 + Bobin 1 @@ -2413,18 +2417,6 @@ 255 - - Alpha - 127 - - - Model - - - - Orientation - DEFAULT - Pole Color @@ -2434,6 +2426,14 @@ 255 + + Orientation + DEFAULT + + + Model + + Bobin 2 @@ -2453,7 +2453,7 @@ Pole Pieces 1 - Rods + Screws Pole Pieces 2 @@ -2480,10 +2480,6 @@ Uncovered PAF-Style - - Alpha - 127 - Bobin 1 @@ -2493,6 +2489,18 @@ 255 + + Alpha + 127 + + + Model + + + + Orientation + DEFAULT + Pole Color @@ -2502,14 +2510,6 @@ 255 - - Orientation - DEFAULT - - - Model - - Bobin 2 @@ -2529,7 +2529,7 @@ Pole Pieces 1 - Rods + Screws Pole Pieces 2 @@ -2556,10 +2556,6 @@ EMG-style - - Alpha - 127 - Bobin 1 @@ -2569,6 +2565,18 @@ 255 + + Alpha + 127 + + + Model + + + + Orientation + DEFAULT + Pole Color @@ -2578,14 +2586,6 @@ 255 - - Orientation - DEFAULT - - - Model - - Bobin 2 @@ -2629,6 +2629,86 @@ false + + Filtertron-style + + + Alpha + 127 + + + Bobin 1 + + 0 + 0 + 0 + 255 + + + + Pole Color + + 117 + 157 + 175 + 255 + + + + Orientation + DEFAULT + + + Model + + + + Bobin 2 + + 0 + 0 + 0 + 255 + + + + Type + Filtertron + + + Legs + false + + + Cover + true + + + Pole Pieces 1 + Screws + + + Pole Pieces 2 + Screws + + + Color + + 192 + 192 + 192 + 255 + + + + + + 0 + 0 + + + false + \ No newline at end of file