Ignore:
Timestamp:
05/10/18 16:04:51 (6 years ago)
Author:
davidb
Message:

Reworking of the code-base to separate logic from graphics. This version of Expeditee now supports a JFX graphics as an alternative to SWING

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/apollo/widgets/SampledTrack.java

    r1007 r1102  
    55import java.awt.Graphics;
    66import java.awt.Graphics2D;
    7 import java.awt.Point;
    87import java.awt.Rectangle;
    98import java.awt.Shape;
    10 import java.awt.Stroke;
    119import java.awt.event.ActionEvent;
    1210import java.awt.event.KeyEvent;
     
    2725import javax.swing.SwingUtilities;
    2826
    29 import org.apollo.AudioFrameKeyboardActions;
    30 import org.apollo.AudioFrameMouseActions;
     27import org.apollo.ApolloGestureActions;
     28import org.apollo.ApolloKBMGestureTranslator;
    3129import org.apollo.audio.ApolloPlaybackMixer;
    3230import org.apollo.audio.ApolloSubjectChangedEvent;
     
    5654import org.apollo.util.AudioMath;
    5755import org.apollo.util.Mutable;
    58 import org.apollo.util.PopupReaper;
    5956import org.apollo.util.TrackModelHandler;
    6057import org.apollo.util.TrackModelLoadManager;
    6158import org.apollo.util.TrackNameCreator;
    62 import org.expeditee.gui.Browser;
    63 import org.expeditee.gui.DisplayIO;
     59import org.expeditee.Util;
     60import org.expeditee.core.Colour;
     61import org.expeditee.core.Point;
     62import org.expeditee.core.Stroke;
     63import org.expeditee.core.bounds.AxisAlignedBoxBounds;
     64import org.expeditee.gio.gesture.StandardGestureActions;
     65import org.expeditee.gio.swing.MouseEventRouter;
     66import org.expeditee.gio.swing.SwingConversions;
     67import org.expeditee.gio.swing.SwingMiscManager;
     68import org.expeditee.gui.DisplayController;
    6469import org.expeditee.gui.Frame;
    65 import org.expeditee.gui.FrameGraphics;
    6670import org.expeditee.gui.FrameIO;
    67 import org.expeditee.gui.FrameMouseActions;
    68 import org.expeditee.gui.MouseEventRouter;
    6971import org.expeditee.gui.PopupManager;
    7072import org.expeditee.items.ItemParentStateChangedEvent;
     
    7274import org.expeditee.items.Text;
    7375import org.expeditee.items.widgets.HeavyDutyInteractiveWidget;
    74 import org.expeditee.items.widgets.InteractiveWidget;
    7576import org.expeditee.items.widgets.InteractiveWidgetInitialisationFailedException;
    7677import org.expeditee.items.widgets.InteractiveWidgetNotAvailableException;
     78import org.expeditee.items.widgets.Widget;
    7779
    7880/**
     
    8284 *
    8385 */
    84 public class SampledTrack extends HeavyDutyInteractiveWidget
    85         implements TrackModelHandler, EffecientInvalidator, Observer {
     86public class SampledTrack extends HeavyDutyInteractiveWidget implements TrackModelHandler, EffecientInvalidator, Observer {
    8687
    8788        /** The observered subject. Can be null */
     
    115116        private static final Stroke FREESPACE_OUTLINING = Strokes.SOLID_2;
    116117       
    117         private static final Color SEMI_TRANSPARENT_FREESPACE_BACKCOLOR = new Color(
     118        private static final Colour SEMI_TRANSPARENT_FREESPACE_BACKCOLOR = new Colour(
    118119                        FREESPACE_BACKCOLOR.getRed(), FREESPACE_BACKCOLOR.getGreen(),
    119                         FREESPACE_BACKCOLOR.getBlue(), 128);
     120                        FREESPACE_BACKCOLOR.getBlue(), Colour.FromComponent255(128));
    120121       
    121122       
     
    173174                initObservers();
    174175               
     176        }
     177       
     178        @Override
     179        public void onMoved()
     180        {
     181                if (nameLabel != null) nameLabel.setPosition(new Point(getX() + 10, getY() + 20));
    175182        }
    176183
     
    279286
    280287                                if (nameLabel != null) {
    281                                         nameLabel.onMouseMoved(e, fulltrackView);
     288                                        nameLabel.gainFocus();
    282289                                }
    283290                               
     
    291298                                       
    292299                                        // Get rid of all popups
    293                                         PopupManager.getInstance().hideAutohidePopups();
     300                                        PopupManager.getInstance().hideAutoHidePopups();
    294301                                       
    295302                                        Rectangle animationSource = _swingComponent.getBounds();
     
    297304                                        // Determine where popup should show
    298305                                        int x = SampledTrack.this.getX();
    299                                         int y = SampledTrack.this.getY() - playbackControlPopup.getHeight() - 2; // by default show above
     306                                        int y = SampledTrack.this.getY() - playbackControlPopup.getFullBounds().getHeight() - 2; // by default show above
    300307                                       
    301308                                        // I get sick.dizzy from the popup expanding from the whole thing...
    302309                                        animationSource.height = 1;
    303                                         animationSource.width = Math.min(animationSource.width, playbackControlPopup.getWidth());
     310                                        animationSource.width = Math.min(animationSource.width, playbackControlPopup.getFullBounds().getWidth());
    304311                                       
    305312                                        if (y < 0) {
     
    309316
    310317                                        // Animate the popup
    311                                         PopupManager.getInstance().showPopup(
    312                                                         playbackControlPopup,
    313                                                         new Point(x, y),
    314                                                         fulltrackView,
    315                                                         PopupManager.getInstance().new ExpandShrinkAnimator(
    316                                                                         animationSource,
    317                                                                         Color.LIGHT_GRAY));
    318                                        
    319                                         PopupReaper.getInstance().initPopupLifetime(
    320                                                         playbackControlPopup,
    321                                                         PopupManager.getInstance().new ExpandShrinkAnimator(
    322                                                                         animationSource,
    323                                                                         Color.LIGHT_GRAY),
    324                                                                         TrackWidgetCommons.POPUP_LIFETIME);
    325                                        
     318                                        playbackControlPopup.getAutoHideTime().setLifetime(TrackWidgetCommons.POPUP_LIFETIME);
     319                                        PopupManager.getInstance().add(playbackControlPopup);
     320                                        playbackControlPopup.show();
    326321                                } else {
    327                                         PopupReaper.getInstance().revivePopup(playbackControlPopup, TrackWidgetCommons.POPUP_LIFETIME);
     322                                        playbackControlPopup.show();
    328323                                }
    329324                               
     
    398393                fulltrackView.addKeyListener(new KeyListener() {
    399394
    400                         public void keyPressed(KeyEvent e) {
    401                                 if (!e.isControlDown() && nameLabel != null) {
    402                                         if (nameLabel.onKeyPressed(e, fulltrackView)) {
    403                                                 e.consume();
    404                                         }
    405                                 }
    406                         }
    407 
    408                         public void keyReleased(KeyEvent e) {
    409                                 if (!e.isControlDown() && nameLabel != null) {
    410                                         if (nameLabel.onKeyReleased(e, fulltrackView)) {
    411                                                 e.consume();
    412                                         }
    413                                 }
    414                                
     395                        public void keyPressed(KeyEvent e)
     396                        {
     397                        }
     398
     399                        public void keyReleased(KeyEvent e)
     400                        {
    415401                                // Toggle pitch-track indexing
    416402                                if (e.isControlDown() && e.getKeyCode() == KeyEvent.VK_I) {
    417403                                        setShouldOmitIndexAudio(!shouldOmitIndexAudio());
    418                                         FrameGraphics.refresh(true);
     404                                        DisplayController.requestRefresh(true);
    419405                                }
    420406                               
     
    429415                                else if (e.isControlDown() && e.getKeyCode() == KeyEvent.VK_L) {
    430416
    431                                         Frame current = DisplayIO.getCurrentFrame();
     417                                        Frame current = DisplayController.getCurrentFrame();
    432418                                       
    433419                                        if (current != null) {
     
    473459                                        }
    474460       
    475                                 } else if (e.isControlDown() &&
    476                                                 (e.getKeyCode() == KeyEvent.VK_LEFT || e.getKeyCode() == KeyEvent.VK_RIGHT)) {
    477                                         e.consume();
    478                                         AudioFrameKeyboardActions.adjustInitationTime(SampledTrack.this, e.getKeyCode() == KeyEvent.VK_LEFT);
    479                                 } else if (e.isControlDown() &&
    480                                                 (e.getKeyCode() == KeyEvent.VK_UP || e.getKeyCode() == KeyEvent.VK_DOWN)) {
    481                                         e.consume();
    482                                         AudioFrameKeyboardActions.adjustVerticlePosition(SampledTrack.this, e.getKeyCode() == KeyEvent.VK_UP);
     461                                } else if (e.isControlDown()) {
     462                                        if (e.getKeyCode() == KeyEvent.VK_LEFT) {
     463                                                e.consume();
     464                                                ApolloGestureActions.adjustInitiationTime(SampledTrack.this, -ApolloKBMGestureTranslator.TRACK_WIDGET_TIMELINE_ADJUSTMENT);
     465                                        } else if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
     466                                                e.consume();
     467                                                ApolloGestureActions.adjustInitiationTime(SampledTrack.this, ApolloKBMGestureTranslator.TRACK_WIDGET_TIMELINE_ADJUSTMENT);
     468                                        } else if (e.getKeyCode() == KeyEvent.VK_UP) {
     469                                                e.consume();
     470                                                ApolloGestureActions.adjustVerticalPosition(SampledTrack.this, -ApolloKBMGestureTranslator.TRACK_WIDGET_VERTICAL_ADJUSTMENT);
     471                                        } else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
     472                                                e.consume();
     473                                                ApolloGestureActions.adjustVerticalPosition(SampledTrack.this, ApolloKBMGestureTranslator.TRACK_WIDGET_VERTICAL_ADJUSTMENT);
     474                                        }
    483475                                }
    484476
     
    490482                });
    491483               
    492                
    493                
    494                 nameLabel = new EmulatedTextItem(_swingComponent, new Point(10, 20));
    495                 nameLabel.setBackgroundColor(Color.WHITE);     
     484                nameLabel = new EmulatedTextItem("", (new Point(10, 20)).add(getBounds().getTopLeft()));
     485                nameLabel.setBackgroundColor(Colour.WHITE);     
    496486               
    497487                String metaName = getStrippedDataString(TrackWidgetCommons.META_NAME_TAG);
     
    616606                Text source = new Text(
    617607                                targetFrame.getNextItemID(),
    618                                 ItemUtils.GetTag(ItemUtils.TAG_IWIDGET) + ":" + formatArgs(args));
     608                                ItemUtils.GetTag(ItemUtils.TAG_IWIDGET) + ":" + Util.formatArgs(args));
    619609               
    620610                source.setParent(targetFrame);
     
    685675       
    686676        @Override
    687         public InteractiveWidget copy()
     677        public Widget copy()
    688678                throws InteractiveWidgetNotAvailableException, InteractiveWidgetInitialisationFailedException {
    689679               
     
    11191109        }
    11201110
    1121         public void onGraphDirty(SampledTrackGraphView graph, Rectangle dirty) {
     1111        public void onGraphDirty(SampledTrackGraphView graph, Rectangle dirty)
     1112        {
    11221113        dirty.translate(getX(), getY() - 1);
    1123         FrameGraphics.invalidateArea(dirty);
    1124         FrameGraphics.refresh(true);
     1114        DisplayController.invalidateArea(SwingConversions.fromSwingRectangle(dirty));
     1115        DisplayController.requestRefresh(true);
    11251116        }
    11261117
     
    11311122
    11321123        @Override
    1133         protected void onSizeChanged() {
     1124        protected void onSizeChanged()
     1125        {
    11341126                super.onSizeChanged();
    11351127                // Keep meta as constant as possible for best reults
     
    12461238
    12471239        @Override
    1248         public void paintInFreeSpace(Graphics g) {
    1249                 paintInFreeSpace(g, false);
    1250         }
    1251        
    1252         public void paintInFreeSpace(Graphics g, boolean isAtFinalPass) {
     1240        public void paintInFreeSpace()
     1241        {
     1242                paintInFreeSpace(false);
     1243        }
     1244       
     1245        public void paintInFreeSpace(boolean isAtFinalPass)
     1246        {
     1247                Graphics g = SwingMiscManager.getIfUsingSwingGraphicsManager().getCurrentSurface();
    12531248
    12541249                if (isLoaded()) {
     
    12701265                                       
    12711266
    1272                                         Point containerPoint = SwingUtilities.convertPoint(me.getComponent(),
    1273                                                         new Point(0,0), Browser._theBrowser.getContentPane());
     1267                                        Point containerPoint = SwingConversions.fromSwingPoint(SwingUtilities.convertPoint(me.getComponent(),
     1268                                                        new java.awt.Point(0,0), SwingMiscManager.getIfUsingSwingGraphicsManager().getContentPane()));
    12741269                                       
    12751270                                        Shape clipBackUp = g.getClip();
    12761271                                        g.setClip(null);
    12771272                                       
    1278                                         g.setColor(Color.ORANGE);
     1273                                        g.setColor(SwingConversions.toSwingColor(Colour.ORANGE));
    12791274                                        ((Graphics2D)g).setStroke(EditableSampledTrackGraphView.GRAPH_BAR_STROKE);
    12801275                                        g.drawLine(
     
    12841279                                                        containerPoint.y + me.getComponent().getHeight());
    12851280                                       
    1286                                         FrameGraphics.invalidateArea(new Rectangle(
     1281                                        DisplayController.invalidateArea(new AxisAlignedBoxBounds(
    12871282                                                        containerPoint.x + me.getX(),
    12881283                                                        containerPoint.y,
     
    12931288                                        g.setClip(clipBackUp);
    12941289                                       
    1295                                         g.setColor(SEMI_TRANSPARENT_FREESPACE_BACKCOLOR);
     1290                                        g.setColor(SwingConversions.toSwingColor(SEMI_TRANSPARENT_FREESPACE_BACKCOLOR));
    12961291                                        g.fillRect(getX(), getY(), getWidth(), getHeight());
    12971292                                       
    12981293                                        if (isAtFinalPass) { // final pass does not draw the borders... so must manually draw them
    1299                                                 g.setColor(Color.BLACK);
    1300                                                 ((Graphics2D)g).setStroke(FREESPACE_OUTLINING);
     1294                                                g.setColor(SwingConversions.toSwingColor(Colour.BLACK));
     1295                                                ((Graphics2D)g).setStroke(SwingConversions.toSwingStroke(FREESPACE_OUTLINING));
    13011296                                                g.drawRect(getX(), getY(), getWidth(), getHeight());
    13021297                                        }
     
    13111306                }
    13121307               
    1313                 super.paintInFreeSpace(g);
     1308                super.paintInFreeSpace();
    13141309               
    13151310                if (isLoaded()) {
     
    13181313                        Rectangle tmpClip = (clipBackUp != null) ? clipBackUp.getBounds() :
    13191314                                new Rectangle(0, 0,
    1320                                                 Browser._theBrowser.getContentPane().getWidth(),
    1321                                                 Browser._theBrowser.getContentPane().getHeight());
    1322                                
    1323                         g.setClip(tmpClip.intersection(getBounds()));
     1315                                                SwingMiscManager.getIfUsingSwingGraphicsManager().getContentPane().getWidth(),
     1316                                                SwingMiscManager.getIfUsingSwingGraphicsManager().getContentPane().getHeight());
     1317                               
     1318                        g.setClip(tmpClip.intersection(SwingConversions.toSwingRectangle(getBounds())));
    13241319               
    13251320                        // Draw the name
     
    13271322                        if (name == null) name = "Unnamed";
    13281323
    1329                         g.setFont(TrackWidgetCommons.FREESPACE_TRACKNAME_FONT);
    1330                         g.setColor(TrackWidgetCommons.FREESPACE_TRACKNAME_TEXT_COLOR);
     1324                        g.setFont(SwingMiscManager.getIfUsingSwingFontManager().getInternalFont(TrackWidgetCommons.FREESPACE_TRACKNAME_FONT));
     1325                        g.setColor(SwingConversions.toSwingColor(TrackWidgetCommons.FREESPACE_TRACKNAME_TEXT_COLOR));
    13311326                       
    13321327                        // Center track name
    1333                         FontMetrics fm   = g.getFontMetrics(TrackWidgetCommons.FREESPACE_TRACKNAME_FONT);
     1328                        FontMetrics fm   = g.getFontMetrics(SwingMiscManager.getIfUsingSwingFontManager().getInternalFont(TrackWidgetCommons.FREESPACE_TRACKNAME_FONT));
    13341329                        Rectangle2D rect = fm.getStringBounds(name, g);
    13351330                       
     
    13491344
    13501345        @Override
    1351         public void paint(Graphics g) {
    1352                 super.paint(g);
     1346        public void paintHeavyDutyWidget(Graphics2D g)
     1347        {
     1348                super.paintHeavyDutyWidget(g);
    13531349               
    13541350                if (isLoaded() && nameLabel != null) {
    1355                         nameLabel.paint(g);
     1351                        nameLabel.paint();
    13561352                       
    13571353                        if (shouldOmitIndexAudio()) {
     
    13601356                                                -20 : 0;
    13611357                               
    1362                                 IconRepository.getIcon("omitindexed.png").paintIcon(
     1358                                /*IconRepository.getIcon("omitindexed.png").paintIcon(
    13631359                                                _swingComponent,
    13641360                                                g,
    13651361                                                getX() + getWidth() - EditableSampledTrackGraphView.LOCK_ICON_CORNER_OFFSET + shiftOffset,
    1366                                                 getY() + EditableSampledTrackGraphView.LOCK_ICON_CORNER_OFFSET - 16);
     1362                                                getY() + EditableSampledTrackGraphView.LOCK_ICON_CORNER_OFFSET - 16);*/
     1363                               
     1364                                g.drawImage(SwingMiscManager.getIfUsingSwingImageManager().getInternalImage(IconRepository.getIcon("omitindexed.png")),
     1365                                                getX() + getWidth() - EditableSampledTrackGraphView.LOCK_ICON_CORNER_OFFSET + shiftOffset,
     1366                                                getY() + EditableSampledTrackGraphView.LOCK_ICON_CORNER_OFFSET - 16, null);
    13671367                               
    13681368                        }
     
    14041404                                                boolean inferInitTime = true;
    14051405                                               
    1406                                                 if (AudioFrameMouseActions.isYAxisRestictionOn()) {
     1406                                                if (ApolloGestureActions.isYAxisRestictionOn()) {
    14071407                                                        Mutable.Long ms = getInitiationTimeFromMeta();
    14081408                                                        if (ms != null) {
     
    14171417                                                }
    14181418                                               
    1419                                                 inferInitTime &=
    1420                                                         (AudioFrameMouseActions.isMouseAnchoring() || AudioFrameMouseActions.isMouseStamping());
    1421 
     1419                                                // Also must not set initiation time if the frame is simply being displayed
     1420                                                //inferInitTime &= (AudioFrameMouseActions.isMouseAnchoring() || AudioFrameMouseActions.isMouseStamping());
     1421                                                inferInitTime &= (eventType == ItemParentStateChangedEvent.EVENT_TYPE_ADDED);
     1422                                               
    14221423                                                if (inferInitTime)
    14231424                                                        initTime = Mutable.createMutableLong(FrameLayoutDaemon.getInstance().getMSAtX(getX(), parent));
     
    14991500                                                MouseEventRouter.getCurrentMouseEvent().getButton() == MouseEvent.BUTTON2 &&
    15001501                                                MouseEventRouter.getCurrentMouseEvent() != lastInsertME) {
    1501                                         Frame suspended = DisplayIO.getCurrentFrame();
     1502                                        Frame suspended = DisplayController.getCurrentFrame();
    15021503                                        if (suspended != null) {
    15031504                                                FrameLayoutDaemon.getInstance().suspendLayout(suspended, this);
     
    16821683               
    16831684                // Get border color currently used
    1684                 Color oldC = getSource().getBorderColor();
    1685                
    1686                 Color newC = TrackWidgetCommons.getBorderColor(
     1685                Colour oldC = getSource().getBorderColor();
     1686               
     1687                Colour newC = TrackWidgetCommons.getBorderColor(
    16871688                                SoundDesk.getInstance().isSolo(trackMix.getChannelID()),
    16881689                                trackMix.isMuted());
     
    17721773                                // Build the new neighbouring widget
    17731774                                Frame target = getParentFrame();
    1774                                 if (target == null) target = DisplayIO.getCurrentFrame();
     1775                                if (target == null) target = DisplayController.getCurrentFrame();
    17751776                               
    17761777                                // Determine init time
     
    18111812                                                        trackMix);
    18121813                                       
    1813                                         FrameMouseActions.pickup(extractedTrack.getItems());
     1814                                        StandardGestureActions.pickup(extractedTrack.getItems());
    18141815                                       
    18151816                                }
     
    18401841                                                trackModel,
    18411842                                                pfname,
    1842                                                 _swingComponent.getBounds(),
     1843                                                SwingConversions.fromSwingRectangle(_swingComponent.getBounds()),
    18431844                                                trackMix);
    18441845
     
    18461847
    18471848                                // Get rid of all popups
    1848                                 PopupManager.getInstance().hideAutohidePopups();
     1849                                PopupManager.getInstance().hideAutoHidePopups();
    18491850                               
    18501851                                int start = trackModel.getSelectionStart();
     
    18591860                                ExpandedTrackManager.getInstance().expandSingleTrack(
    18601861                                                trackModel,
    1861                                                 _swingComponent.getBounds(),
     1862                                                SwingConversions.fromSwingRectangle(_swingComponent.getBounds()),
    18621863                                                trackMix,
    18631864                                                pfname,
     
    18821883         *
    18831884         */
    1884         private class PlaybackPopup extends PlaybackControlPopup implements Observer {
    1885 
    1886                 private static final long serialVersionUID = 1L;
    1887                
    1888                 public PlaybackPopup() {
     1885        private class PlaybackPopup extends PlaybackControlPopup implements Observer
     1886        {
     1887                public PlaybackPopup()
     1888                {
    18891889                        miscButton.setActionCommand("expand");
    1890                         miscButton.setIcon(IconRepository.getIcon("expand.png"));
     1890                        SwingMiscManager.setJButtonIcon(miscButton, IconRepository.getIcon("expand.png"));
    18911891                        miscButton.setToolTipText("Expand");
    1892 
    18931892                }
    18941893
    18951894                @Override
    1896                 public void onHide() {
    1897                         super.onHide();
    1898                        
     1895                public void onHide()
     1896                {
    18991897                        // Listen for volume or mute changed events
    19001898                        trackMix.removeObserver(this);
     
    19051903
    19061904                @Override
    1907                 public void onShow() {
    1908                         super.onShow();
     1905                public void onShow()
     1906                {
    19091907                        // Listen for volume or mute changed events
    19101908                        trackMix.addObserver(this);
     
    20162014                }
    20172015               
    2018                 public Subject getObservedSubject() {
     2016                public Subject getObservedSubject()
     2017                {
    20192018                        return null;
    20202019                }
    20212020
    2022                 public void setObservedSubject(Subject parent) {
     2021                public void setObservedSubject(Subject parent)
     2022                {
    20232023                }
    20242024
     
    20262026                 * Receives events from the track model OR from the observed track sequence.
    20272027                 */
    2028                 public void modelChanged(Subject source, SubjectChangedEvent event) {
    2029 
     2028                public void modelChanged(Subject source, SubjectChangedEvent event)
     2029                {
    20302030                        // Synch GUI with track state
    20312031                        switch (event.getID()) {
     
    20492049                                stopButton.setEnabled(true);
    20502050                                rewindButton.setEnabled(false);
    2051                                 playPauseButton.setIcon(IconRepository.getIcon("pause.png"));
     2051                                SwingMiscManager.setJButtonIcon(playPauseButton, IconRepository.getIcon("pause.png"));
    20522052                               
    20532053                                invalidateStateIcons();
     
    20632063                                rewindButton.setEnabled(true);
    20642064                                stopButton.setEnabled(false);
    2065                                 playPauseButton.setIcon(IconRepository.getIcon("play.png"));
     2065                                SwingMiscManager.setJButtonIcon(playPauseButton, IconRepository.getIcon("play.png"));
    20662066                               
    20672067                                // Note:
     
    21092109
    21102110                @Override
    2111                 protected void volumeChanged() {
     2111                protected void volumeChanged()
     2112                {
    21122113                        trackMix.setVolume(((float)volumeSlider.getValue()) / 100.0f);
    21132114                }
    21142115
    21152116                @Override
    2116                 protected void muteChanged() {
     2117                protected void muteChanged()
     2118                {
    21172119                        trackMix.setMuted(muteButton.isSelected());
    21182120                }
    21192121
    21202122                @Override
    2121                 protected void soloChanged() {
     2123                protected void soloChanged()
     2124                {
    21222125                        SoundDesk.getInstance().setSoloIDPrefix(soloButton.isSelected() ?
    21232126                                        trackMix.getChannelID() : null
    21242127                                        );
    21252128                }
    2126                
    21272129        }
    21282130
    21292131        @Override
    2130         public boolean isWidgetEdgeThicknessAdjustable() {
     2132        public boolean isWidgetEdgeThicknessAdjustable()
     2133        {
    21312134                return false;
    21322135        }
    2133        
    2134        
    2135        
    21362136}
Note: See TracChangeset for help on using the changeset viewer.