Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skin Engine: Component Layout and Size #1625

Closed
baconpaul opened this issue Mar 18, 2020 · 2 comments
Closed

Skin Engine: Component Layout and Size #1625

baconpaul opened this issue Mar 18, 2020 · 2 comments
Labels
Skinning Engine Issues related to Surge's skin engine
Milestone

Comments

@baconpaul
Copy link
Collaborator

This is a big part of it.

@baconpaul baconpaul added the Skinning Engine Issues related to Surge's skin engine label Mar 18, 2020
@baconpaul
Copy link
Collaborator Author

<skin>
  <component-classes> <!-- this allows us to extend the built in classes with properties -->
    <class name="dark-vslider" parent-class="CSurgeSlider" orientation="vertical" propone="a" proptwo="b"/>
    <class name="light-vslider" parent-class="CSurgeSlider" orientation="horizontal" propone="a" proptwo="b" bgprop="SVG/foo"/>
    <class name="modified-light-slider" parent-class="light-slider" propone="c"/> <!-- so proptwo = b and bgpro is SVG/foo still-->
    <class name="centered-text" parent-class="CLabel" font="lato" valign="left"/>
  </component-classes>
  <controls>
    <control ui_identifier="aeg.attack" class="light-vslider" posx="23" posy="47"/>
    <control ui_identifier="global.character" class="CHSwitch2" posx="89" posy="123"
             w="100" h="80" switch_sprite="SVG/bmp00161.svg"/>

    <!-- You can override a property also -->
    <control ui_identifier="modified-light-slider" propone="d"/>
  </controls>
</skin>

@baconpaul
Copy link
Collaborator Author

that's the sketch of the design that dave and I kicked around

baconpaul added a commit to baconpaul/surge that referenced this issue Mar 30, 2020
Modify the XML, the XML generator, and the internal data structures
to allow per-control class and position controls along with a simple
inheritance hierarchy. At this point, do nothing with those data structures
other than run over a commented out cout in SurgeGUIEditor.

Along the road to surge-synthesizer#1625
baconpaul added a commit that referenced this issue Mar 30, 2020
Modify the XML, the XML generator, and the internal data structures
to allow per-control class and position controls along with a simple
inheritance hierarchy. At this point, do nothing with those data structures
other than run over a commented out cout in SurgeGUIEditor.

Along the road to #1625
baconpaul added a commit to baconpaul/surge that referenced this issue Apr 9, 2020
- Modify the skin engine to support groups, controls, and control classes
- Make SurgeGUIEditor read groups controls and control classes for a few control
  types (but not all)
- Cleanly fall back to default skin on empty section
- Update the data dump with chswitch2 information
- Add test skins to the menu separately
- Read color for disabled step sequence marker. Closes surge-synthesizer#1682

These changes all address surge-synthesizer#1625
baconpaul added a commit that referenced this issue Apr 9, 2020
- Modify the skin engine to support groups, controls, and control classes
- Make SurgeGUIEditor read groups controls and control classes for a few control
  types (but not all)
- Cleanly fall back to default skin on empty section
- Update the data dump with chswitch2 information
- Add test skins to the menu separately
- Read color for disabled step sequence marker. Closes #1682

These changes all address #1625
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Skinning Engine Issues related to Surge's skin engine
Projects
None yet
Development

No branches or pull requests

1 participant