Changeset 318


Ignore:
Timestamp:
09/23/08 16:00:42 (16 years ago)
Author:
bjn8
Message:

Refactored a class name and extended recorder widgets to have a perminant lifetime option (for optimum idea capturing!)

Location:
trunk/src_apollo/org/apollo
Files:
9 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/src_apollo/org/apollo/agents/MelodySearch.java

    r315 r318  
    2323import org.apollo.util.TextItemSearchResult;
    2424import org.apollo.widgets.LinkedTrack;
    25 import org.apollo.widgets.SampledTrackEvo4;
     25import org.apollo.widgets.SampledTrack;
    2626import org.apollo.widgets.TrackWidgetCommons;
    2727import org.expeditee.agents.SearchAgent;
     
    5454       
    5555        /** Either querry from raw audio or track widget: */
    56         private SampledTrackEvo4 querryTrack = null;
     56        private SampledTrack querryTrack = null;
    5757       
    5858        /** Either querry from raw audio  or track widget: */
     
    113113                        }
    114114
    115                         if (iw != null && iw instanceof SampledTrackEvo4) {
    116                                 querryTrack = (SampledTrackEvo4)iw;
     115                        if (iw != null && iw instanceof SampledTrack) {
     116                                querryTrack = (SampledTrack)iw;
    117117                        }
    118118                       
     
    140140                        String linkedTrackPrefix = trackPrefix;
    141141                       
    142                         trackPrefix += SampledTrackEvo4.class.getName();
     142                        trackPrefix += SampledTrack.class.getName();
    143143                        linkedTrackPrefix += LinkedTrack.class.getName();
    144144                       
     
    250250               
    251251                                                // should this widget be indexed?
    252                                                 if (res.containsData(SampledTrackEvo4.META_DONT_INDEX_AUDIO_TAG)) continue;
     252                                                if (res.containsData(SampledTrack.META_DONT_INDEX_AUDIO_TAG)) continue;
    253253                                               
    254254                                                // get the local filename
     
    258258                                                // Parse meta
    259259                                                for (String data : res.data) {
    260                                                         if (data.startsWith(SampledTrackEvo4.META_LOCALNAME_TAG) &&
    261                                                                         data.length() > SampledTrackEvo4.META_LOCALNAME_TAG.length()) {
    262                                                                 localFilename = data.substring(SampledTrackEvo4.META_LOCALNAME_TAG.length());
     260                                                        if (data.startsWith(SampledTrack.META_LOCALNAME_TAG) &&
     261                                                                        data.length() > SampledTrack.META_LOCALNAME_TAG.length()) {
     262                                                                localFilename = data.substring(SampledTrack.META_LOCALNAME_TAG.length());
    263263                                                                if (trackName != null) break;
    264264                                                        } else if (data.startsWith(TrackWidgetCommons.META_NAME_TAG) &&
  • trunk/src_apollo/org/apollo/audio/structure/AudioStructureModel.java

    r315 r318  
    2525import org.apollo.util.TextItemSearchResult;
    2626import org.apollo.widgets.LinkedTrack;
    27 import org.apollo.widgets.SampledTrackEvo4;
     27import org.apollo.widgets.SampledTrack;
    2828import org.apollo.widgets.TrackWidgetCommons;
    2929import org.expeditee.gui.DisplayIO;
     
    286286                        String linkedTrackPrefix = trackPrefix;
    287287                       
    288                         trackPrefix += SampledTrackEvo4.class.getName();
     288                        trackPrefix += SampledTrack.class.getName();
    289289                        linkedTrackPrefix += LinkedTrack.class.getName();
    290290
     
    325325                                                        data = data.trim();
    326326                                                       
    327                                                         if (data.startsWith(SampledTrackEvo4.META_LOCALNAME_TAG) &&
    328                                                                         data.length() > SampledTrackEvo4.META_LOCALNAME_TAG.length()) {
    329                                                                 localFileName = data.substring(SampledTrackEvo4.META_LOCALNAME_TAG.length());
     327                                                        if (data.startsWith(SampledTrack.META_LOCALNAME_TAG) &&
     328                                                                        data.length() > SampledTrack.META_LOCALNAME_TAG.length()) {
     329                                                                localFileName = data.substring(SampledTrack.META_LOCALNAME_TAG.length());
    330330                                                       
    331331                                                        } else if (data.startsWith(TrackWidgetCommons.META_INITIATIONTIME_TAG)
     
    589589                                for (InteractiveWidget iw : rootFrame.getInteractiveWidgets()) {
    590590                                       
    591                                         if (iw instanceof SampledTrackEvo4) {
    592                                                 SampledTrackEvo4 sampledTrackWidget = (SampledTrackEvo4)iw;
     591                                        if (iw instanceof SampledTrack) {
     592                                                SampledTrack sampledTrackWidget = (SampledTrack)iw;
    593593
    594594                                                TrackGraphNode tinf =
  • trunk/src_apollo/org/apollo/audio/util/FrameLayoutDaemon.java

    r315 r318  
    2727import org.apollo.util.NullableLong;
    2828import org.apollo.widgets.LinkedTrack;
    29 import org.apollo.widgets.SampledTrackEvo4;
     29import org.apollo.widgets.SampledTrack;
    3030import org.expeditee.gui.Browser;
    3131import org.expeditee.gui.DisplayIO;
     
    331331                                        AbstractTrackGraphNode abinf = null;
    332332
    333                                         if (iw instanceof SampledTrackEvo4) {
    334                                                 SampledTrackEvo4 sampledTrackWidget = (SampledTrackEvo4)iw;
     333                                        if (iw instanceof SampledTrack) {
     334                                                SampledTrack sampledTrackWidget = (SampledTrack)iw;
    335335                       
    336336
     
    493493                                       
    494494                                        int width = -1;
    495                                         if (freespaceTrackToFormat instanceof SampledTrackEvo4) {
    496                                                
    497                                                 long rt = ((SampledTrackEvo4)freespaceTrackToFormat).getRunningMSTimeFromRawAudio();
    498                                                 if (rt <= 0) rt = ((SampledTrackEvo4)freespaceTrackToFormat).getRunningMSTimeFromMeta();
     495                                        if (freespaceTrackToFormat instanceof SampledTrack) {
     496                                               
     497                                                long rt = ((SampledTrack)freespaceTrackToFormat).getRunningMSTimeFromRawAudio();
     498                                                if (rt <= 0) rt = ((SampledTrack)freespaceTrackToFormat).getRunningMSTimeFromMeta();
    499499                                                if (rt > 0) {
    500500                                                        width = (int)(currentTimeline.getPixelPerTime() * rt);
     
    674674                for (InteractiveWidget iw : frame.getInteractiveWidgets()) {
    675675                       
    676                         if (iw instanceof SampledTrackEvo4) {
    677                                 SampledTrackEvo4 sampledTrackWidget = (SampledTrackEvo4)iw;
     676                        if (iw instanceof SampledTrack) {
     677                                SampledTrack sampledTrackWidget = (SampledTrack)iw;
    678678
    679679                                // TrackGraphModel provides best data
  • trunk/src_apollo/org/apollo/audio/util/SoundDesk.java

    r315 r318  
    2525import org.apollo.mvc.SubjectChangedEvent;
    2626import org.apollo.widgets.LinkedTrack;
    27 import org.apollo.widgets.SampledTrackEvo4;
     27import org.apollo.widgets.SampledTrack;
    2828import org.expeditee.gui.Frame;
    2929
     
    10151015         *              The channel ID... never null.
    10161016         */
    1017         public static String createPureLocalChannelID(SampledTrackEvo4 sampledTrackWidget) {
     1017        public static String createPureLocalChannelID(SampledTrack sampledTrackWidget) {
    10181018                assert(sampledTrackWidget != null);
    10191019                return createPureLocalChannelID(sampledTrackWidget.getLocalFileName());
  • trunk/src_apollo/org/apollo/gui/EditableSampledTrackGraphView.java

    r315 r318  
    2222import org.apollo.mvc.SubjectChangedEvent;
    2323import org.apollo.util.TrackNameCreator;
    24 import org.apollo.widgets.SampledTrackEvo4;
     24import org.apollo.widgets.SampledTrack;
    2525import org.expeditee.gui.Browser;
    2626import org.expeditee.gui.DisplayIO;
     
    175175                                || e.getButton() == MouseEvent.BUTTON3) && !FreeItems.getInstance().isEmpty())) {
    176176                       
    177                         SampledTrackEvo4 floatingTrack = null;
     177                        SampledTrack floatingTrack = null;
    178178                       
    179179                        // Look for a floating track for injection of audio bytes
    180180                        for (Item i : FreeItems.getInstance()) {
    181181                                if (i instanceof WidgetCorner) {
    182                                         if (((WidgetCorner)i).getWidgetSource() instanceof SampledTrackEvo4) {
    183                                                 floatingTrack = (SampledTrackEvo4)((WidgetCorner)i).getWidgetSource();
     182                                        if (((WidgetCorner)i).getWidgetSource() instanceof SampledTrack) {
     183                                                floatingTrack = (SampledTrack)((WidgetCorner)i).getWidgetSource();
    184184                                                break;
    185185                                        }
     
    259259
    260260        /**
    261          * Copies the selection into free space as a {@link SampledTrackEvo4}
     261         * Copies the selection into free space as a {@link SampledTrack}
    262262         *
    263263         * @param e
     
    273273                        if (targetFrame != null) {
    274274                               
    275                                 SampledTrackEvo4 twidget = SampledTrackEvo4.createFromMemory(
     275                                SampledTrack twidget = SampledTrack.createFromMemory(
    276276                                                copiedAudioRegion,
    277277                                                getSampledTrackModel().getFormat(),
  • trunk/src_apollo/org/apollo/gui/FrameRenderPasses.java

    r315 r318  
    1515import org.apollo.widgets.LinkedTrack;
    1616import org.apollo.widgets.SampleRecorder;
    17 import org.apollo.widgets.SampledTrackEvo4;
     17import org.apollo.widgets.SampledTrack;
    1818import org.expeditee.gui.Browser;
    1919import org.expeditee.gui.FrameGraphics;
     
    5555
    5656                        // Conceivable could have multiple
    57                         LinkedList<SampledTrackEvo4> toPaint = null;
     57                        LinkedList<SampledTrack> toPaint = null;
    5858                       
    5959                        for (Item i : FreeItems.getInstance()) {
     
    6161                                        InteractiveWidget iw = ((WidgetCorner)i).getWidgetSource();
    6262                                       
    63                                         if (iw != null && iw instanceof SampledTrackEvo4) {
     63                                        if (iw != null && iw instanceof SampledTrack) {
    6464                                               
    6565                                                if (toPaint == null) {
    66                                                         toPaint = new LinkedList<SampledTrackEvo4>();
     66                                                        toPaint = new LinkedList<SampledTrack>();
    6767                                                } else if (toPaint.contains(iw)) {
    6868                                                        continue;
    6969                                                }
    7070                                               
    71                                                 toPaint.add((SampledTrackEvo4)iw);
     71                                                toPaint.add((SampledTrack)iw);
    7272                                        }
    7373                                }
     
    7575                       
    7676                        if (toPaint != null) {
    77                                 for (SampledTrackEvo4 trackWidget : toPaint) {
     77                                for (SampledTrack trackWidget : toPaint) {
    7878                                        if (g.getClip() == null
    7979                                                        || g.getClip().intersects(trackWidget.getComponant().getBounds()))
     
    198198                                if (iw != null) {
    199199                                       
    200                                         if (iw != null && (iw instanceof SampledTrackEvo4 ||
     200                                        if (iw != null && (iw instanceof SampledTrack ||
    201201                                                        iw instanceof LinkedTrack || iw instanceof SampleRecorder)) {
    202202                                               
  • trunk/src_apollo/org/apollo/io/SampledAudioFileImporter.java

    r315 r318  
    55import java.io.IOException;
    66
    7 import org.apollo.widgets.SampledTrackEvo4;
     7import org.apollo.widgets.SampledTrack;
    88import org.expeditee.gui.DisplayIO;
    99import org.expeditee.importer.FileImporter;
     
    2323                                DisplayIO.getCurrentFrame() == null) return null;
    2424               
    25                 SampledTrackEvo4 trackWidget = SampledTrackEvo4.createFromFile(
     25                SampledTrack trackWidget = SampledTrack.createFromFile(
    2626                                f,
    2727                                DisplayIO.getCurrentFrame(),
  • trunk/src_apollo/org/apollo/meldex/MeldexConversion.java

    r315 r318  
    77
    88import org.apollo.io.AudioIO;
    9 import org.apollo.widgets.SampledTrackEvo4;
     9import org.apollo.widgets.SampledTrack;
    1010
    1111/**
     
    2525         *              If conversion fails.
    2626         */
    27         public static Melody toMelody(SampledTrackEvo4 trackWidget) throws IOException {
     27        public static Melody toMelody(SampledTrack trackWidget) throws IOException {
    2828               
    2929                assert(trackWidget != null);
  • trunk/src_apollo/org/apollo/widgets/SampleRecorder.java

    r315 r318  
    1717import java.io.IOException;
    1818import java.io.PipedInputStream;
     19import java.util.LinkedList;
     20import java.util.List;
    1921
    2022import javax.sound.sampled.AudioFormat;
     
    4951import org.expeditee.gui.Frame;
    5052import org.expeditee.gui.FrameGraphics;
     53import org.expeditee.gui.FrameMouseActions;
    5154import org.expeditee.items.ItemParentStateChangedEvent;
    5255import org.expeditee.items.Text;
    5356import org.expeditee.items.widgets.InteractiveWidget;
    5457
     58/**
     59 * Records sampled audio ... the cornerstone widget to Apollo.
     60 *
     61 * @author Brook Novak
     62 *
     63 */
    5564public class SampleRecorder extends InteractiveWidget
    5665        implements ActionListener, Observer, MultitrackLoadListener {
     
    8594        private boolean hasExplicityStopped = false;
    8695       
     96        private boolean isSelfDestructable = false;
     97       
    8798        private final static int BUTTON_HEIGHT = 50;
    8899        private final static int LABEL_HEIGHT = 30;
     
    97108       
    98109        private final static int RENDER_POINTS_PER_SECOND = 20; // how many points to render each second
     110       
     111        private final static String SELF_DESTRUCT_OFF_META = "permanent";
     112        private final static String COUNTDOWN_META = "countdown=";
     113       
    99114       
    100115        public SampleRecorder(Text source, String[] args) {
     
    105120                                COUNTDOWN_SETTINGS_HEIGHT + BUTTON_HEIGHT + LABEL_HEIGHT + AnimatedSampleGraph.GRAPH_HEIGHT + (4 * VERT_SPACING));
    106121               
     122                isSelfDestructable = !containsDataTrimmedIgnoreCase(SELF_DESTRUCT_OFF_META);
     123                int countdown = getStrippedDataInt(COUNTDOWN_META, 0);
     124                if (countdown < 0) countdown = 0;
     125                else if (countdown > MAX_COUNTDOWN_TIME)
     126                        countdown = MAX_COUNTDOWN_TIME;
     127
    107128                // Create gui layout
    108129                recordButton = new JButton();
     
    133154                countDownSpinner = new JSpinner(model);
    134155                countDownSpinner.setPreferredSize(new Dimension(50, COUNTDOWN_SETTINGS_HEIGHT));
    135                
     156                countDownSpinner.setValue(countdown);
     157
    136158                countDownSpinnerLabel = new JLabel("Count down:");
    137159                countDownSpinnerLabel.setPreferredSize(new Dimension(AnimatedSampleGraph.GRAPH_WIDTH - 50, COUNTDOWN_SETTINGS_HEIGHT));
     
    307329                               
    308330                        } else {
    309 
    310                                 // Remove this temporary widget
    311                                 removeSelf();
     331                               
     332                                if (isSelfDestructable) {
     333                                        // Remove this temporary widget
     334                                        removeSelf();
     335                                }
    312336                       
    313337                                // Spawn an audio track using the actual bytes and audio format buffered from
     
    326350                                         if (!shouldPlayback) initiationTime = -1;
    327351                                         
    328                                          SampledTrackEvo4 trackWidget = SampledTrackEvo4.createFromMemory(
     352                                         SampledTrack trackWidget = SampledTrack.createFromMemory(
    329353                                                         audioByteReader.bufferedAudioBytes.toByteArray(),
    330354                                                         audioByteReader.audioFormat,
     
    336360                                                         null);
    337361                                         
    338                                          targetFrame.addAllItems(trackWidget.getItems());
     362                                         if (isSelfDestructable) {
     363                                                 
     364                                                 targetFrame.addAllItems(trackWidget.getItems());
     365               
     366                                         } else {
     367                                                 
     368                                                 FrameMouseActions.pickup(trackWidget.getItems());
     369                                                       
     370                                                // Reset the state
     371                                                setState(WidgetState.Ready, "Ready");
     372                                               
     373                                         }
    339374       
    340375                                         
     
    379414                return null;
    380415        }
    381        
     416
     417        @Override
     418        protected List<String> getData() {
     419
     420                List<String> data = new LinkedList<String>();
     421               
     422                if (isSelfDestructable)
     423                        data.add(SELF_DESTRUCT_OFF_META);
     424               
     425                data.add(COUNTDOWN_META + countDownSpinner.getValue());
     426
     427                return data;
     428        }
     429
    382430        @Override
    383431        protected void onParentStateChanged(int eventType) {
  • trunk/src_apollo/org/apollo/widgets/SampledTrack.java

    r315 r318  
    7777 *
    7878 */
    79 public class SampledTrackEvo4 extends HeavyDutyInteractiveWidget
     79public class SampledTrack extends HeavyDutyInteractiveWidget
    8080        implements TrackModelHandler, EffecientInvalidator, Observer {
    8181
     
    133133         *
    134134         */
    135         private SampledTrackEvo4(Text source, byte[] audioBytes, AudioFormat format, TrackMixSubject mixTemplate) {
     135        private SampledTrack(Text source, byte[] audioBytes, AudioFormat format, TrackMixSubject mixTemplate) {
    136136               
    137137                super(source, new EditableSampledTrackGraphView(),
     
    179179         *              Can have a ARG_IMPORT_TAG argument...
    180180         */
    181         public SampledTrackEvo4(Text source, String[] args) {
     181        public SampledTrack(Text source, String[] args) {
    182182                super(source, new EditableSampledTrackGraphView(),
    183183                                100, -1,
     
    292292                                       
    293293                                        // Determine where popup should show
    294                                         int x = SampledTrackEvo4.this.getX();
    295                                         int y = SampledTrackEvo4.this.getY() - playbackControlPopup.getHeight() - 2; // by default show above
     294                                        int x = SampledTrack.this.getX();
     295                                        int y = SampledTrack.this.getY() - playbackControlPopup.getHeight() - 2; // by default show above
    296296                                       
    297297                                        // I get sick.dizzy from the popup expanding from the whole thing...
     
    300300                                       
    301301                                        if (y < 0) {
    302                                                 y = SampledTrackEvo4.this.getY() + SampledTrackEvo4.this.getHeight() + 2;
     302                                                y = SampledTrack.this.getY() + SampledTrack.this.getHeight() + 2;
    303303                                                animationSource.y = y - 2;
    304304                                        }
     
    432432                                if (trackModel != null && !nameLabel.getText().equals(trackModel.getName())) {
    433433                                        trackModel.setName(nameLabel.getText());
    434                                         SampledTrackEvo4.this.updateData(TrackWidgetCommons.META_NAME_TAG, trackModel.getName());
     434                                        SampledTrack.this.updateData(TrackWidgetCommons.META_NAME_TAG, trackModel.getName());
    435435                                       
    436436                                }
     
    449449
    450450        /**
    451          * Creates a {@link SampledTrackEvo4} instantly from audio bytes in memory and adds it to a given frame.
     451         * Creates a {@link SampledTrack} instantly from audio bytes in memory and adds it to a given frame.
    452452         * @param audioBytes
    453453         *                      The audio samples.
     
    474474         *                      If null then default mix settings will be used.
    475475         *
    476          * @return The {@link SampledTrackEvo4} instance added to the given frame.
    477          *
    478          */
    479         public static SampledTrackEvo4 createFromMemory(
     476         * @return The {@link SampledTrack} instance added to the given frame.
     477         *
     478         */
     479        public static SampledTrack createFromMemory(
    480480                        byte[] audioBytes,
    481481                        AudioFormat format,
     
    530530                source.setData(data);
    531531               
    532                 SampledTrackEvo4 strack = new SampledTrackEvo4(source, audioBytes, format, mixTemplate);
     532                SampledTrack strack = new SampledTrack(source, audioBytes, format, mixTemplate);
    533533
    534534                return strack;
     
    537537       
    538538        /**
    539          * Creates a {@link SampledTrackEvo4} from file - which is tyo be imported into apollos
     539         * Creates a {@link SampledTrack} from file - which is tyo be imported into apollos
    540540         *
    541541         * @param targetFrame
     
    545545         *                      The audio file to import
    546546         *
    547          * @return The {@link SampledTrackEvo4} instance added to the given frame.
    548          *
    549          */
    550         public static SampledTrackEvo4 createFromFile(File file, Frame targetFrame, int x, int y) {
     547         * @return The {@link SampledTrack} instance added to the given frame.
     548         *
     549         */
     550        public static SampledTrack createFromFile(File file, Frame targetFrame, int x, int y) {
    551551                assert (targetFrame != null);
    552552                assert (file != null);
     
    576576                source.setData(data);
    577577
    578                 SampledTrackEvo4 strack = new SampledTrackEvo4(source, args);
     578                SampledTrack strack = new SampledTrack(source, args);
    579579
    580580                return strack;
     
    632632                } else {
    633633
    634                         return SampledTrackEvo4.createFromMemory(
     634                        return SampledTrack.createFromMemory(
    635635                                        trackModel.getAllAudioBytesCopy(),
    636636                                        trackModel.getFormat(),
     
    17931793                                invalidateStateIcons();
    17941794
    1795                                 SampledTrackEvo4.this.setWidgetEdgeThickness(TrackWidgetCommons.PLAYING_TRACK_EDGE_THICKNESS);
     1795                                SampledTrack.this.setWidgetEdgeThickness(TrackWidgetCommons.PLAYING_TRACK_EDGE_THICKNESS);
    17961796                                //FrameGraphics.refresh(true);
    17971797                                        break;
     
    18091809                                // and will get garbage collected
    18101810                               
    1811                                 SampledTrackEvo4.this.setWidgetEdgeThickness(TrackWidgetCommons.STOPPED_TRACK_EDGE_THICKNESS);
     1811                                SampledTrack.this.setWidgetEdgeThickness(TrackWidgetCommons.STOPPED_TRACK_EDGE_THICKNESS);
    18121812
    18131813                                break;
Note: See TracChangeset for help on using the changeset viewer.