This is MiscSoundView.h in view mode; [Download] [Up]
/* MiscSoundView Version 1.2 Copyright (c) 1995 by Sean Luke Donated to the MiscKit Permission to use, copy, modify, and distribute this material for any purpose and without fee, under the restrictions as noted in the MiscKit copyright notice, is hereby granted, provided that the MiscKit copyright notice and this permission notice appear in all source copies, and that the author's name shall not be used in advertising or publicity pertaining to this material without the specific, prior written permission of the author. SEAN O. LUKE MAKES NO REPRESENTATIONS ABOUT THE ACCURACY OR SUITABILITY OF THIS MATERIAL FOR ANY PURPOSE. IT IS PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. */ #import <soundkit/SoundView.h> #import <soundkit/NXSoundDevice.h> #import <appkit/appkit.h> // Defines #define MISCSOUNDVIEW_RULER_HEIGHT 16 // minimum #define MISCSOUNDVIEW_PLAY_MARK_HEIGHT 4 #define MISCSOUNDVIEW_TICK_MINIMUM_SPACING 2.0 #define MISCSOUNDVIEW_TICK_MINIMUM_SPACING_WITH_LABELS 40.0 #define MISCSOUNDVIEW_XAXIS_SPACING_FORMAT_SAMPLES 1 #define MISCSOUNDVIEW_XAXIS_SPACING_FORMAT_SECONDS 0 #define MISCSOUNDVIEW_XAXIS_SPACING_FORMAT_PERCENT 2 #define MISCSOUNDVIEW_YAXIS_DISPLAY_FORMAT_DECIBEL 1 #define MISCSOUNDVIEW_YAXIS_DISPLAY_FORMAT_SIXTEEN 2 #define MISCSOUNDVIEW_YAXIS_DISPLAY_FORMAT_TWENTY 3 #define MISCSOUNDVIEW_YAXIS_DISPLAY_FORMAT_TWENTYFOUR 4 @interface MiscSoundView:SoundView { // X Axis information BOOL display_x_axis_marks; // Display the Ruler float minor_tick_spacing; // Minor Tick Spacing int minor_tick_spacing_format; // Tick Format int major_tick_spacing; // Number of minor ticks per major tick BOOL display_labels; // Draw label information with ruler float play_mark; // Current play mark position float old_play_mark; // Old play mark position... // if -1.0, no old play mark exists // Y Axis information BOOL display_y_axis_grid; // display the amplitude BOOL display_zero_line; // display the zero line int y_display_format; // amplitude format // Scrolling BOOL scroll_to_reflect_playing; // Scroll to reflect playing // Temporary Updates BOOL only_change_play_mark; // On next display, only update // play mark. BOOL wipe_clean; // On next display, wipe X Axis clean // before redrawing } // OVERRIDDEN TO FIX BUGS IN SOUNDVIEW - getSelection:(int *)firstSample size:(int *)sampleCount; - setSelection:(int)firstSample size:(int)sampleCount; - selectAll:sender; // UTILITY METHODS - scrollToSelection:sender; // Tries to scroll to place selection // starting at far left of visible rect - scrollToSample:(int)samp; // Tries to scroll to place sample in // far left of visible rect - (int) scrollSample; // Sample at far left of visible rect - setPlayMark:(int)sample; // Erases the old play mark and draws // a new one at sample if the ruler is // displayed. If sample is -1, no new // play mark is drawn but old one is // erased. - zoomAllIn:sender; // Scales to maximum detail, scrolls to // selection - zoomAllOut:sender; // Scales to minimum detail, scrolls to // selection - zoomInOneReduction:sender; // Scales to one more level of detail, // scrolls to selection - zoomOutOneReduction:sender; // Scales to one less level of detail, // scrolls to selection - zoomToSelection:sender; // Scales and scrolls to selection - getZoomValueFrom:sender; // Scales to a value between 0 and 1, // and scrolls to selection - takeIntValueFrom:sender; // Sets the play mark to the int value // of sender. Used in conjunction with // a SoundTracker on the SoundView, // tracking on SAMPLES. - adjustBounds:sender; // adjusts the SoundView's bounds so // the ruler will fit within its parent // ScrollView. // SETTING VALUES (should be done immediately after initFrame) - set: (BOOL) displayXAxis: (BOOL) displayYAxis: (BOOL) displayLabels: (BOOL) displayZeroLine: (int) majorTickSpacing: (float) minorTickSpacing: (int) minorTickSpacingFormat: (int) thisYDisplayFormat: (BOOL) scrollToReflectPlaying; // TO DEMO SOUNDVIEW - toggleXAxisDisplayed:sender; - toggleYAxisDisplayed:sender; - toggleLabelsDisplayed:sender; - toggleZeroLineDisplayed:sender; - toggleScrollToReflectPlaying:sender; // QUERYING VALUES - (BOOL) xAxisDisplayed; - (BOOL) yAxisDisplayed; - (BOOL) zeroLineDisplayed; - (BOOL) labelsDisplayed; - (BOOL) scrollToReflectPlaying; - (int) majorTickSpacing; - (float) minorTickSpacing; - (int) minorTickSpacingFormat; - (int) yDisplayFormat; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.