TSignalBrowse Class

ComponentTMtxComponentTAnalysisTSignalBrowse

type TSignalBrowse = class(TAnalysis);

Creates and navigates file overview files.

Use the component to create peak overview files of much bigger signal files. This peak files can be used for quick navigation (browsing) through a few hundred MB long files. With a smart charting tool, a peak file allows you to zoom in on one sample and also zoom out to view the entire file without noticing any delays when drawing. A typical overview file of a 200 MB long wav file is 4 MB long and is created within 5 seconds. The component supports threading, so that you can interrupt the process running in the background. The component also automatically switches between the peak and signal file, depending on the amount of data that you want to read (presumably for screen display). The overview data is a series of Min and Max values for the specified region. This must be taken in to account when computing time span, because the sampling frequency is virtually changed by 2x in compare to the raw signal.

Properties

NameTypeDescription
ActiveBooleanSet active to false to suppress the propagation of the Pull request and the subsequent call to the Update method.
BlockAssignBooleanBlock streaming of specific properties when storing only a "template".
ChannelCountIntegerGet the number of channels.
ChannelMaxTVecStores the maximum values for each channel.
ChannelMinTVecStores the minimum values for each channel.
ComplexBooleanSet this property to true, to request computation using complex numbers.
ContinuousBooleanIf True, the component will pass on the udpate request to the connected component.
DataTVecHolds the result of the overview request triggered by setting the RecordPosition.
DtDoubleGet the sample time.
EditorActiveBooleanReturns True, if the component editor is displayed.
FloatPrecisionTMtxFloatPrecisionSet this property to request computation in 32bit/64bit precision with real/complex numbers.
FloatPrecisionLockBooleanSet this property to true to lock changes to FloatPrecision property.
IncrementIntegerDefines the pixel downsampling factor for the peak file.
InputTAnalysisConnector property to obtain a pointer to the TSignal component holding the data to be processed.
IsDoubleBooleanSet this property to false, to request computation in 32bit floating point precision, 64bit, if true.
ItemNumberIntegerNumber to label the object when it is an item in the List.
OnAfterUpdateTNotifyEventThe event is triggered after the call to the Update method.
OnBeforeUpdateTNotifyEventThe event is triggered just before the call to the Update method.
OnDisplayUpdateTNotifyEventThe event is triggered after the OnAfterUpdate event. Use this event to update any associated charts or graphs or result tables.
OnGetInputTNotifyEventIf the Input property is not assigned, the component will call OnGetInput.
OnNotifyUpdateTNotifyEventThe event is called after a call to InternalUpdate, OnAfterUpdate and OnDisplayUpdate from within the Update method.
OnParameterUpdateTNotifyEventThe event is triggered when ParamUpdate method is called. The ParamUpdate method is usually called by component editors when a value was changed by the user and the editor was "Live".
OnProgressUpdateTProgressUpdateEventThread event triggered when starting, running and stopping the thread.
OverviewRepositoryPathstringLocation where all peak files will be stored.
PipeStateTPipeStateReturns the state of the pipe after the last update.
ProgressRuntimeTMtxProgressRuntimeA pointer to the thread object. The object is owned by Self.
RecordNumberIntegerNumber of the current record within the signal file.
RecordPositionInt64Set the property to specify position in samples of the read cursor within the current record.
RecordTimeDoubleLength of the current record in seconds.
RecordTimePositionDoubleSet the property to specify position in seconds of the read cursor within the current record.
ReferenceTReferenceListStores a list of components that have to be notified, when this component is destroyed.
SamplingFrequencyDoubleGet the sampling frequency.
SamplingTimeDoubleGet the sampling time.
SignalFileTSignalReadA pointer to the signal file handling component. The object is owned by Self.
SpanLengthInt64Defines the count of samples to be streamed from the signal file.
SpanLimitInt64Defines the target number of vertical pixel lines to be displayed on the screen.
SpanTimeDoubleDefines the length in seconds of samples to be obtained from the file.
SuspendNotifyUpdateBooleanSet this property to True, to prevent calling OnNotifyUpdate from the Update Method.
ThreadedBooleanSet it to True, if you want the processing to run within a separate thread.
UsesInputsBooleanSet it to True to indicate, that valid signals will be connected to the Input or Inputs properties.

Methods

NameDescription
AllowStreamingReturns the negatated value of BlockAssign.
AssignAssign values of all published properties from Source.
AssignTemplateAssign values of "template-like" published properties from Source.
CloseFileClose the opened data file.
CreateBrowseFileCreate browse file from file named AFileAname.
EditorClassTo be overriden in descendanr classses.
InputsDirtyIf all Inputs[i] are dirty the function returns true.
InternalPullWhen called, the method will pass Update requests recursively to all connected objects.
InvalidateNotifies all connected components that this component has fresh data.
IsOverviewReturns True, if the data read by the component comes from the overview file.
LoadFromStreamLoad the component from Src stream.
LoadFullRecordLoad the entire file to the Data property.
LoadTemplateFromFileLoad a template from file.
LoadTemplateFromStreamLoad a template from stream.
OpenBrowseFileOpen browse file for the file named AFilename.
ParamUpdateThe method can be assigned to some other component even handler, as a notification that a parameter has changed and that Self should consider a recalculation.
PipeResetRecursively processes all connected components backward and calls Reset method.
PullRequest recalculation of the entire chain of all connected components.
PullUntilEndCalls Pull until pipeEnd is returned.
ResetReset is called after loading the data from stream or file.
SaveTemplateToFileSave template to file.
SaveTemplateToStreamSave template to stream.
SaveToStreamSave the component to Dst stream.
SpanUpdateUpdates the data in the Data property according to the updated SpanLimit.
UpdateRequest recalculation of the data and place the result in Self.
UpdateNotifyCall this method only, if SuspendNotifyUpdate is True.