JUCE API document - Chinese version - All done!

静态Public成员函数

static const MidiMessage noteOn (int channel, int noteNumber, float velocity) throw ()
创建一条“键按下”消息(使用浮点力度值)。
static const MidiMessage noteOn (int channel, int noteNumber, uint8 velocity) throw ()
创建一条“键按下”消息(使用整型力度值)。
static const MidiMessage noteOff (int channel, int noteNumber) throw ()
创建一条“键抬起”消息。
static const MidiMessage programChange (int channel, int programNumber) throw ()
创建一条程序改变消息。
static const MidiMessage pitchWheel (int channel, int position) throw ()
创建一条弯音移动消息。
static const MidiMessage aftertouchChange (int channel, int noteNumber, int aftertouchAmount) throw ()
创建一条触后消息。
static const MidiMessage channelPressureChange (int channel, int pressure) throw ()
创建一个通道压力改变事件。
static const MidiMessage controllerEvent (int channel, int controllerType, int value) throw ()
创建一条控制器消息。
static const MidiMessage allNotesOff (int channel) throw ()
创建一条所有音符关闭消息。
static const MidiMessage allSoundOff (int channel) throw ()
创建一条所有声音关闭消息。
static const MidiMessage allControllersOff (int channel) throw ()
创建一条所有控制器关闭消息。
static const MidiMessage endOfTrack () throw ()
创建一个音轨结束元事件。
static const MidiMessage tempoMetaEvent (int microsecondsPerQuarterNote) throw ()
创建一个速度元事件。
static const MidiMessage timeSignatureMetaEvent (int numerator, int denominator)
创建一个拍号元事件。
static const MidiMessage midiChannelMetaEvent (int channel) throw ()
创建一个MIDI通道元事件。
static const MidiMessage midiStart () throw ()
创建一个MIDI开始事件。
static const MidiMessage midiContinue () throw ()
创建一个MIDI继续事件。
static const MidiMessage midiStop () throw ()
创建一个MIDI停止事件。
static const MidiMessage midiClock () throw ()
创建一个MIDI时钟事件。
static const MidiMessage songPositionPointer (int positionInMidiBeats) throw ()
创建一条“乐曲位置指针”消息。
static const MidiMessage quarterFrame (int sequenceNumber, int value) throw ()
创建一条“四分音符框架”MTC消息。
static const MidiMessage fullFrame (int hours, int minutes, int seconds, int frames, SmpteTimecodeType timecodeType)
创建一条“全音符框架”MTC消息。
static const MidiMessage midiMachineControlCommand (MidiMachineControlCommand command)
创建一条MMC消息。
static const MidiMessage midiMachineControlGoto (int hours, int minutes, int seconds, int frames)
创建一条MMC跳转(goto)消息。
static const MidiMessage masterVolume (float volume)
创建一条总线音量变化消息。
static const MidiMessage createSysExMessage (const uint8 *sysexData, int dataSize)
创建一条系统专用消息。
static int readVariableLengthVal (const uint8 *data, int &numBytesUsed) throw ()
读取整型的MIDI可变长度。
static int getMessageLengthFromFirstByte (const uint8 firstByte) throw ()
基于短MIDI消息的首字节,使用查询表来返回消息长度(单字节、双字节或3字节)。
static const String getMidiNoteName (int noteNumber, bool useSharps, bool includeOctaveNumber, int octaveNumForMiddleC)
返回MIDI音符编号的名称。
static const double getMidiNoteInHertz (int noteNumber, const double frequencyOfA=440.0) throw ()
返回MIDI音符编号的声学频率。
static const String getGMInstrumentName (int midiInstrumentNumber)
返回GM音色库中的标准名称。
static const String getGMInstrumentBankName (int midiBankNumber)
返回GM音色库的库名称。
static const String getRhythmInstrumentName (int midiNoteNumber)
返回第10通道打击乐器的标准音色名称。
static const String getControllerName (int controllerNumber)
返回控制器类型的名称。

详细说明

封装一条MIDI消息。

参见:
MidiMessageSequence, MidiOutput, MidiInput

成员函数文档

enum MidiMessage::SmpteTimecodeType
SMPTE时间码类型。

该枚举被以下函数所使用:getFullFrameParameters()、fullFrame()。

枚举常量:
fps24
fps25
fps30drop
fps30
enum MidiMessage::MidiMachineControlCommand
MMC命令类型。

参见:
isMidiMachineControlMessage, getMidiMachineControlCommand, midiMachineControlCommand
枚举常量:
mmc_stop
mmc_play
mmc_deferredplay
mmc_fastforward
mmc_rewind
mmc_recordStart
mmc_recordStop
mmc_pause

构造函数和析构函数文档

MidiMessage::MidiMessage ( int byte1,
int byte2,
int byte3,
double timeStamp = 0
) throw ()
创建一条3字节的短MIDI消息。

参数:
byte1 单字节消息
byte2 双字节消息
byte3 3字节消息
timeStamp MIDI消息的时间,此值无单位,有特殊用途。
MidiMessage::MidiMessage ( int byte1,
int byte2,
double timeStamp = 0
) throw ()
创建一条2字节的短MIDI消息。

参数:
byte1 单字节消息
byte2 双字节消息
timeStamp MIDI消息的时间,此值无单位,有特殊用途。
MidiMessage::MidiMessage ( int byte1,
double timeStamp = 0
) throw ()
创建一条单字节的MIDI消息。

参数:
byte1 单字节消息
timeStamp MIDI消息的时间,此值无单位,有特殊用途。
MidiMessage::MidiMessage ( const void * data,
int numBytes,
double timeStamp = 0
)
从数据块中创建一条MIDI消息。

MidiMessage::MidiMessage ( const void * data,
int maxBytesToUse,
int & numBytesUsed,
uint8 lastStatusByte,
double timeStamp = 0
)
从某些数据中读取下一条MIDI消息。

此函数将从一个数据流中读取尽可能多的字节,以生成一条完整的消息,并返回所使用的字节数。此函数从文件或数据流中读取一条MIDI消息序列。

参数:
data 从该数据中读取
maxBytesToUse 允许读取的最大字节数
numBytesUsed 返回实际所需的字节数
lastStatusByte 音序中的MIDI消息的初始字节如果和上一条消息的首字节相同,则可以从本消息中舍弃。如果首字节已被舍弃,此参数允许提供要使用的字节。
timeStamp MIDI消息的时间,此值无单位,有特殊用途。
MidiMessage::MidiMessage ( const MidiMessage & other )
创建另一条MIDI消息的副本(拷贝构造函数)。

MidiMessage::MidiMessage ( const MidiMessage & other,
double newTimeStamp
)
创建另一条MIDI消息,具有不同的时戳。

MidiMessage::~MidiMessage ( )
析构函数。

成员函数文档

MidiMessage& MidiMessage::operator= ( const MidiMessage & other )
赋值运算符重载。

uint8* MidiMessage::getRawData ( ) const throw ()
返回一个指向原始MIDI数据的指针。

参见:
getRawDataSize
int MidiMessage::getRawDataSize ( ) const throw ()
返回消息中的数据的字节数。

参见:
getRawData
double MidiMessage::getTimeStamp ( ) const throw ()
返回消息的相关时戳。

所返回的时间和单位,随使用环境的不同而不同。

比如,从MIDI文件中获取消息,时间单位也许是秒,或者嘀嗒值。参见:MidiFile::convertTimestampTicksToSeconds()。

如果消息被MidiBuffer所使用,返回值所代表的也许是缓冲开始时的音频采样值。

如果消息由MidiInput所创建,参见MidiInputCallback::handleIncomingMidiMessage()以获悉如何初始化此值。

参见:
setTimeStamp, addToTimeStamp
void MidiMessage::setTimeStamp ( double newTimestamp ) throw ()
改变消息的相关时戳。

时间戳的单位将有特殊用途,参见getTimeStamp()函数的说明。

参见:
addToTimeStamp, getTimeStamp
void MidiMessage::addToTimeStamp ( double delta ) throw ()
将一个值添加给消息时戳。

时间戳的单位将有特殊用途。

int MidiMessage::getChannel ( ) const throw ()
返回消息的相关MIDI通道。

返回:
如果消息包含通道信息,则返回1到16之间的某个数值。如果消息不包含通道信息,则返回0,比如,系统专用消息。
参见:
isForChannel, setChannel
bool MidiMessage::isForChannel ( int channelNumber ) const throw ()
如果消息应用到给定的MIDI通道,则返回true。

参数:
channelNumber 要查找的通道编号,范围:1到16
参见:
getChannel, setChannel
void MidiMessage::setChannel ( int newChannelNumber ) throw ()
改变消息的MIDI通道。

此函数对不包含通道信息的消息不起任何作用,比如系统专用消息。

参数:
newChannelNumber 目标通道编号。范围:1到16
bool MidiMessage::isSysEx ( ) const throw ()
如果是系统专用消息,则返回true。

const uint8* MidiMessage::getSysExData ( ) const throw ()
返回消息中包含的系统专用数据的指针。

如果不是系统专用事件,则返回0。

参见:
getSysExDataSize
int MidiMessage::getSysExDataSize ( ) const throw ()
返回系统专用数据的大小。

返回的值排除头字节0xf0和尾字节0xf7。

参见:
getSysExData

bool MidiMessage::isNoteOn ( bool returnTrueForVelocity0 = false ) const throw ()
如果消息为“键按下”事件,则返回true。

参数:
returnTrueForVelocity0 如果为true,并且是力度为0的音符开事件,则依然被视为音符开事件,此函数将返回true。如果为false,并且是力度为0的音符开事件,将视为音符关事件,此函数返回false。
参见:
isNoteOff, getNoteNumber, getVelocity, noteOn
static const MidiMessage MidiMessage::noteOn ( int channel,
int noteNumber,
float velocity
) throw () [static]
创建一条“键按下”消息(使用浮点力度值)。

参数:
channel MIDI通道,范围:1到16
noteNumber 音符(键位)编号,范围:0到127
velocity 范围:0到1.0
参见:
isNoteOn
static const MidiMessage MidiMessage::noteOn ( int channel,
int noteNumber,
uint8 velocity
) throw () [static]
创建一条“键按下”消息(使用整型力度值)。

参数:
channel MIDI通道,范围:1到16
noteNumber 音符(键位)编号,范围:0到127
velocity 范围:0到127
参见:
isNoteOn
bool MidiMessage::isNoteOff ( bool returnTrueForNoteOnVelocity0 = true ) const throw ()
如果消息为“键抬起”事件。则返回true。

如果参数returnTrueForNoteOnVelocity0为true,并且是力度为0的音符开事件,则此函数也返回true。

参见:
isNoteOn, getNoteNumber, getVelocity, noteOff
static const MidiMessage MidiMessage::noteOff ( int channel,
int noteNumber
) throw () [static]
创建一条“键抬起”消息。

参数:
channel MIDI通道,范围:1到16
noteNumber 音符(键位)编号,范围:0到127
参见:
isNoteOff
bool MidiMessage::isNoteOnOrOff ( ) const throw ()
如果消息为“键按下”或“键抬起”事件,则返回true。

参见:
isNoteOn, isNoteOff
int MidiMessage::getNoteNumber ( ) const throw ()
返回音符开和音符关消息的MIDI音符编号。

如果不是音符开或音符关消息,则返回值没有意义。

参见:
isNoteOff, getMidiNoteName, getMidiNoteInHertz, setNoteNumber
void MidiMessage::setNoteNumber ( int newNoteNumber ) throw ()
改变音符开或音符关消息的MIDI音符编号。

如果不是音符开或音符关消息,此函数不起任何作用。

uint8 MidiMessage::getVelocity ( ) const throw ()
返回音符开或音符关消息的力度。

返回值的范围:0到127。

如果不是音符开或音符关事件,则返回0。

参见:
getFloatVelocity
float MidiMessage::getFloatVelocity ( ) const throw ()
返回音符开或音符关消息的力度。

返回值的范围:0到1.0。

如果不是音符开或音符关事件,则返回0。

参见:
getVelocity, setVelocity
void MidiMessage::setVelocity ( float newVelocity ) throw ()
改变音符开或音符关消息的力度。

如果不是音符开或音符关事件,则此函数不起任何作用。

参数:
newVelocity 新的力度值,范围:0到1.0
参见:
getFloatVelocity, multiplyVelocity
void MidiMessage::multiplyVelocity ( float scaleFactor ) throw ()
以给定的参数值“缩放”音符开或音符关MIDI消息的力度(乘以参数值)。

如果不是音符开或音符关事件,则此函数不起任何作用。

参数:
scaleFactor 力度“缩放”的比例(改变后的力度为原力度乘以此值)
参见:
setVelocity
bool MidiMessage::isProgramChange ( ) const throw ()
如果消息为程序(音色)改变消息,则返回true。

参见:
getProgramChangeNumber, getGMInstrumentName
int MidiMessage::getProgramChangeNumber ( ) const throw ()
返回音色改变的程序编号。

如果不是程序改变消息,则返回值毫无意义。

参见:
isProgramChange, getGMInstrumentName
static const MidiMessage MidiMessage::programChange ( int channel,
int programNumber
) throw () [static]
创建一条程序改变消息。

参数:
channel MIDI通道,范围:1到16
programNumber MIDI程序编号,单位:0到127
参见:
isProgramChange, getGMInstrumentName
bool MidiMessage::isPitchWheel ( ) const throw ()
如果消息为弯音轮变化,则返回true。

参见:
getPitchWheelValue, pitchWheel
int MidiMessage::getPitchWheelValue ( ) const throw ()
从弯音变化消息中返回弯音的位置。

返回的值为从0到0x3fff的14位数值,用以表示弯音位置。如果调用此函数的消息不包含弯音事件,将返回毫无意义的值。

参见:
isPitchWheel
static const MidiMessage MidiMessage::pitchWheel ( int channel,
int position
) throw () [static]
创建一条弯音移动消息。

参数:
channel MIDI通道,范围:1到16
position 弯音位置,范围:0到16383
参见:
isPitchWheel
bool MidiMessage::isAftertouch ( ) const throw ()
如果消息为一个触后事件,则返回true。

可使用getNoteNumber()函数找到要应用触后事件的音符,并使用getAftertouchValue()函数来获取触后总量。调用getChannel()则可获取所需的MIDI通道。

参见:
getAftertouchValue, getNoteNumber

int MidiMessage::getAfterTouchValue ( ) const throw ()
返回触后消息中的触后总量。

返回值的范围为0到127。如果该消息不包含触后事件,则返回值毫无意义。

参见:
isAftertouch
static const MidiMessage MidiMessage::aftertouchChange ( int channel,
int noteNumber,
int aftertouchAmount
) throw () [static]
创建一条触后消息。

参数:
channel MIDI通道,范围:1到16
noteNumber 音符(键位)编号,范围:0到127
aftertouchAmount 触后总量,0到127
参见:
isAftertouch
bool MidiMessage::isChannelPressure ( ) const throw ()
如果消息为通道压力改变事件,则返回true。

MIDI事件中的通道压力类似于触后,所不同的是,通道压力作用于整个通道,而不是专用于某个指定的音符。使用getChannelPressureValue()函数可获取压力值,getChannel()函数可获取通道。

参见:
channelPressureChange
int MidiMessage::getChannelPressureValue ( ) const throw ()
返回通道压力改变消息中的压力数值。

返回:
压力范围:0到127
参见:
isChannelPressure, channelPressureChange
static const MidiMessage MidiMessage::channelPressureChange ( int channel,
int pressure
) throw () [static]
创建一个通道压力改变事件。

参数:
channel MIDI通道的范围:1到16
pressure 压力范围:0到127
参见:
isChannelPressure
bool MidiMessage::isController ( ) const throw ()
如果为MIDI控制器消息,则返回true。

参见:
getControllerNumber, getControllerValue, controllerEvent
int MidiMessage::getControllerNumber ( ) const throw ()
返回控制器消息的控制编号。

控制器名称可通过getControllerName()函数来获取。

注意,如果消息中不包含控制器变化,则返回值是无效的。

参见:
isController, getControllerName, getControllerValue
int MidiMessage::getControllerValue ( ) const throw ()
返回控制器消息的控制编号。

返回0到127之间的某个值,代表控制器编号。

注意,如果消息中不包含控制器变化,则返回值是无效的。

参见:
isController, getControllerNumber
static const MidiMessage MidiMessage::controllerEvent ( int channel,
int controllerType,
int value
) throw () [static]
创建一条控制器消息。

参数:
channel MIDI通道,范围:1到16
controllerType 控制器类型
value 控制器的值
参见:
isController
bool MidiMessage::isAllNotesOff ( ) const throw ()
检测此消息是否为所有音符关闭消息

参见:
allNotesOff
bool MidiMessage::isAllSoundOff ( ) const throw ()
检测此消息是否为所有声音关闭消息。

参见:
allSoundOff
static const MidiMessage MidiMessage::allNotesOff ( int channel ) throw () [static]
创建一条所有音符关闭消息。

参数:
channel MIDI通道,范围:1到16
参见:
isAllNotesOff
static const MidiMessage MidiMessage::allSoundOff ( int channel ) throw () [static]
创建一条所有声音关闭消息。

参数:
channel MIDI通道,范围:1到16
参见:
isAllSoundOff
static const MidiMessage MidiMessage::allControllersOff ( int channel ) throw () [static]
创建一条所有控制器关闭消息。

参数:
channel MIDI通道,范围:1到16
bool MidiMessage::isMetaEvent ( ) const throw ()
如果此事件为元事件,则返回true。

速度变化、音轨名称等都属于元事件。

参见:
getMetaEventType, isTrackMetaEvent, isEndOfTrackMetaEvent, isTextMetaEvent, isTrackNameEvent, isTempoMetaEvent, isTimeSignatureMetaEvent, isKeySignatureMetaEvent, isMidiChannelMetaEvent
int MidiMessage::getMetaEventType ( ) const throw ()
返回元事件的类型编号。

如果消息不是元事件,则返回-1。

参见:
isMetaEvent, isTrackMetaEvent, isEndOfTrackMetaEvent, isTextMetaEvent, isTrackNameEvent, isTempoMetaEvent, isTimeSignatureMetaEvent, isKeySignatureMetaEvent, isMidiChannelMetaEvent
const uint8* MidiMessage::getMetaEventData ( ) const throw ()
返回一个指针,其指向元事件中的数据。

参见:
isMetaEvent, getMetaEventLength
int MidiMessage::getMetaEventLength ( ) const throw ()
返回元事件中的数据的长度。

参见:
isMetaEvent, getMetaEventData
bool MidiMessage::isTrackMetaEvent ( ) const throw ()
如果是一个“音轨”元事件,则返回true。

bool MidiMessage::isEndOfTrackMetaEvent ( ) const throw ()
如果该消息为“end-of-track(音轨结束)”元事件,则返回true。

static const MidiMessage MidiMessage::endOfTrack ( ) throw () [static]
创建一个音轨结束元事件。

参见:
isEndOfTrackMetaEvent
bool MidiMessage::isTrackNameEvent ( ) const throw ()
如果该消息为“音轨名称”元事件,则返回true。

可使用getTextFromTextMetaEvent()方法来获取音轨名称。

bool MidiMessage::isTextMetaEvent ( ) const throw ()
如果该消息为“文本”元事件,则返回true。

参见:
getTextFromTextMetaEvent
const String MidiMessage::getTextFromTextMetaEvent ( ) const
返回文本元事件的文本内容。

参见:
isTextMetaEvent
bool MidiMessage::isTempoMetaEvent ( ) const throw ()
如果该消息为“速度”元事件,则返回true。

参见:
getTempoMetaEventTickLength, getTempoSecondsPerQuarterNote
double MidiMessage::getTempoMetaEventTickLength ( short timeFormat ) const throw ()
返回速度元事件的嘀嗒长度。

参数:
timeFormat MIDI文件头中16位时间格式的值。
返回:
嘀嗒长度(秒)。
参见:
isTempoMetaEvent

double MidiMessage::getTempoSecondsPerQuarterNote ( ) const throw ()
计算速度元事件每个四分音符的秒数。

参见:
isTempoMetaEvent, getTempoMetaEventTickLength
static const MidiMessage MidiMessage::tempoMetaEvent ( int microsecondsPerQuarterNote ) throw () [static]
创建一个速度元事件。

参见:
isTempoMetaEvent
bool MidiMessage::isTimeSignatureMetaEvent ( ) const throw ()
如果该消息为“拍号”元事件,则返回true。

参见:
getTimeSignatureInfo
void MidiMessage::getTimeSignatureInfo ( int & numerator,
int & denominator
) const throw ()
返回拍号元事件的拍号。

参见:
isTimeSignatureMetaEvent
static const MidiMessage MidiMessage::timeSignatureMetaEvent ( int numerator,
int denominator
) [static]
创建一个拍号元事件。

参见:
isTimeSignatureMetaEvent
bool MidiMessage::isKeySignatureMetaEvent ( ) const throw ()
如果是调号元事件,则返回true。

参见:
getKeySignatureNumberOfSharpsOrFlats
int MidiMessage::getKeySignatureNumberOfSharpsOrFlats ( ) const throw ()
返回调号元事件的调号。

参见:
isKeySignatureMetaEvent
bool MidiMessage::isMidiChannelMetaEvent ( ) const throw ()
如果该消息为“通道”元事件,则返回true。

通道元事件指定MIDI通道,它将被随后的元事件所使用。

参见:
getMidiChannelMetaEventChannel
int MidiMessage::getMidiChannelMetaEventChannel ( ) const throw ()
返回通道元事件的通道编号。

返回:
通道编号,范围:1到16。
参见:
isMidiChannelMetaEvent
static const MidiMessage MidiMessage::midiChannelMetaEvent ( int channel ) throw () [static]
创建一个MIDI通道元事件。

参数:
channel MIDI通道,范围:1到16
参见:
isMidiChannelMetaEvent
bool MidiMessage::isActiveSense ( ) const throw ()
如果为“激活”消息,则返回true。

bool MidiMessage::isMidiStart ( ) const throw ()
如果为MIDI开始事件,则返回true。

参见:
midiStart
static const MidiMessage MidiMessage::midiStart ( ) throw () [static]
创建一个MIDI开始事件。

bool MidiMessage::isMidiContinue ( ) const throw ()
如果为MIDI继续事件,则返回true。

参见:
midiContinue
static const MidiMessage MidiMessage::midiContinue ( ) throw () [static]
创建一个MIDI继续事件。

bool MidiMessage::isMidiStop ( ) const throw ()
如果为MIDI停止事件,则返回true。

参见:
midiStop
static const MidiMessage MidiMessage::midiStop ( ) throw () [static]
创建一个MIDI停止事件。

bool MidiMessage::isMidiClock ( ) const throw ()
如果为MIDI时钟事件,则返回true。

参见:
midiClock, songPositionPointer
static const MidiMessage MidiMessage::midiClock ( ) throw () [static]
创建一个MIDI时钟事件。

bool MidiMessage::isSongPositionPointer ( ) const throw ()
如果该消息为“乐曲位置指针”,则返回true。

参见:
getSongPositionPointerMidiBeat, songPositionPointer
int MidiMessage::getSongPositionPointerMidiBeat ( ) const throw ()
返回“乐曲位置指针”为第几拍的MIDI消息。

参见:
isSongPositionPointer, songPositionPointer
static const MidiMessage MidiMessage::songPositionPointer ( int positionInMidiBeats ) throw () [static]
创建一条“乐曲位置指针”消息。

位置为乐曲开始的MIDI节拍数,1个MIDI节拍(十六分音符)相当于6个MIDI时钟,每个四分音符有24个MIDI时钟。因此,每个四分音符含有4个MIDI节拍。

参见:
isSongPositionPointer, getSongPositionPointerMidiBeat
bool MidiMessage::isQuarterFrame ( ) const throw ()
如果为“四分音符框架”MIDI时间码消息,则返回true。

参见:
quarterFrame, getQuarterFrameSequenceNumber, getQuarterFrameValue
int MidiMessage::getQuarterFrameSequenceNumber ( ) const throw ()
返回MIDI时间码消息的序号。

此函数的返回值为0到7。

参见:
isQuarterFrame, getQuarterFrameValue, quarterFrame
int MidiMessage::getQuarterFrameValue ( ) const throw ()
返回“四分音符框架”消息的值。

返回值为该消息数据字节中的低4位元数组,数值范围:0到15。

static const MidiMessage MidiMessage::quarterFrame ( int sequenceNumber,
int value
) throw () [static]
创建一条“四分音符框架”MTC消息。

参数:
sequenceNumber 消息数据字节中的高4位元数组,数值范围:0到7。
value 消息数据字节中的低4位元数组,数值范围:0到15。
bool MidiMessage::isFullFrame ( ) const throw ()
如果为“全音符框架”MIDI时间码消息,则返回true。

void MidiMessage::getFullFrameParameters ( int & hours,
int & minutes,
int & seconds,
int & frames,
SmpteTimecodeType & timecodeType
) const throw ()
从“全音符框架”MIDI时间码消息中提取时间码信息。

该函数仅在使用isFullFrame()函数校验并确认之后再调用。

static const MidiMessage MidiMessage::fullFrame ( int hours,
int minutes,
int seconds,
int frames,
SmpteTimecodeType timecodeType
) [static]
创建一条“全音符框架”MTC消息。

bool MidiMessage::isMidiMachineControlMessage ( ) const throw ()
检测是否为一个MMC消息。

如果返回值为true,可使用getMidiMachineControlCommand()方法来找到MMC控制器的类型。

MidiMachineControlCommand MidiMessage::getMidiMachineControlCommand ( ) const throw ()
返回MMC消息的类型。

调用此函数之前要确保为MMC类型的消息,可使用isMidiMachineControlMessage()函数检测后再调用此函数。

static const MidiMessage MidiMessage::midiMachineControlCommand ( MidiMachineControlCommand command ) [static]
创建一条MMC消息。

bool MidiMessage::isMidiMachineControlGoto ( int & hours,
int & minutes,
int & seconds,
int & frames
) const throw ()
检测是否为MMC跳转(goto)消息。

如果返回值为true,则实参将设置为消息所包含的时间信息。

参见:
midiMachineControlGoto
static const MidiMessage MidiMessage::midiMachineControlGoto ( int hours,
int minutes,
int seconds,
int frames
) [static]
创建一条MMC跳转(goto)消息。

此消息通知设备跳转到指定的框架。

参见:
isMidiMachineControlGoto
static const MidiMessage MidiMessage::masterVolume ( float volume ) [static]
创建一条总线音量变化消息。

参数:
volume 数值范围:0到1.0
static const MidiMessage MidiMessage::createSysExMessage ( const uint8 * sysexData,
int dataSize
) [static]
创建一条系统专用消息。

实参为首字节和尾字节所封装的0xf0和0xf7。

static int MidiMessage::readVariableLengthVal ( const uint8 * data,
int & numBytesUsed
) throw () [static]
读取整型的MIDI可变长度。

参数:
data 要读取的数据
numBytesUsed 此函数返回后,该值设置为已读取的字节数
static int MidiMessage::getMessageLengthFromFirstByte ( const uint8 firstByte ) throw () [static]
基于短MIDI消息的首字节,使用查询表来返回消息长度(单字节、双字节或3字节)。

实参必须大于等于0x80。

static const String MidiMessage::getMidiNoteName ( int noteNumber,
bool useSharps,
bool includeOctaveNumber,
int octaveNumForMiddleC
) [static]
返回MIDI音符编号的名称。

比如:“C”, “D#”, 等等。

参数:
noteNumber MIDI音符的编号,数值范围:0到127
useSharps 如果为true,则音符使用升号标记,比如:“C#”。否则使用降号标记,比如:"Db"
includeOctaveNumber 如果为true,则音符的八度数值将出现在字符串尾部,比如:"C#4"
octaveNumForMiddleC 如果尾部附加八度数值,此参数表示中央C的八度数值。
参见:
getMidiNoteInHertz
static const double MidiMessage::getMidiNoteInHertz ( int noteNumber,
const double frequencyOfA = 440.0
) throw () [static]
返回MIDI音符编号的声学频率。

参数frequencyOfA为“A”音阶的声学频率值,标准定音应为440到444Hz。

参见:
getMidiNoteName

static const String MidiMessage::getGMInstrumentName ( int midiInstrumentNumber ) [static]
返回GM音色库中的标准名称。

参数:
midiInstrumentNumber 程序(音色)编号的数值范围:0到127
参见:
getProgramChangeNumber
static const String MidiMessage::getGMInstrumentBankName ( int midiBankNumber ) [static]
返回GM音色库的库名称。

参数:
midiBankNumber 音色库数值范围:0到15
static const String MidiMessage::getRhythmInstrumentName ( int midiNoteNumber ) [static]
返回第10通道打击乐器的标准音色名称。

参数:
midiNoteNumber 数值范围:35到81
static const String MidiMessage::getControllerName ( int controllerNumber ) [static]
返回控制器类型的名称。

参见:
getControllerNumber

定义该类的头文件:
juce_MidiMessage.h

Good work. SwingCoder.

But I think there are something need to be considered.

Like:

Listener: 应该是翻译为“监听者”,在设计模式中有个“观察者”模式,一般都是这么翻译的。

BroadCastor:应该翻译为“广播器”,一般在OO设计中会有类似“广播器”这样的说法。

建议而已!

谢谢xinhu兄的建议。

这两个词汇,我斟酌了很久。谈谈我的想法。
JUCE虽然是C++编程方面的类库,但是我个人始终认为,它更是一个超级专业的音乐制作工具。我也一直是从这个角度接触、了解和熟悉它的。

“监听”一词,在专业音乐制作领域里,别有所指,通常指英文词汇“monitor”。特别是电脑音乐和数码录音等领域中使用ASIO驱动后的“带前监听”、“带后监听”等等。对传统的录音师来说,监听一词的语境更多时候指的是监听音箱、监听耳机、监听的室内声学环境、听到的声音等等。

JUCE的Listener,更多有“侦听”的含义,我个人是这么理解的:产生消息(事件)后,被某某组件“侦听”到。结合上下文和更准确的含义,我觉得侦听还是不如“捕获”更贴切。当然,在很多场合,“捕获”一词也别有用意,但是权衡利弊和多寡,最后我还是决定用“捕获”这个词。

同理,“生成器”也是这么来的。这个由于我对计算机语言和面向对象编程不够精通,所以有时间我再斟酌一下。

外来语种的中文翻译,讲究“信、达、雅”。虽然,前些年在从事音乐制作的同时我也做了很多行业领域内的翻译工作,但是很多词汇始终做不到精益求精和信达雅。特别是这次一下子转到了陌生的编程领域,困难相当多。还希望您多多指教,不断提出宝贵意见和建议。

呵呵,立意不同而已,我建议你另建一个wiki或者blog,然后把这个翻译贴上去,或者做一个单独的html文件包,可以传到goole code,或者干脆给jules说一下,传到这个论坛上比较好。大家便于使用

嗯。等我再干掉一些,我会征求Jules的意见。现在还不好承诺究竟能坚持多久。因为翻译这个文档的工作量实在是太大了。
按翻译界和软件本地化领域的惯例,目前所做只是第一遍出稿之前的草稿吧,还需要大量修改和斟酌。

我有自己的服务器和网站,空间不是问题。 :slight_smile:

[size=150]Slider 推子类[/size]

可调整或改变数值的推子(滑块、旋钮)。 更多…

继承自:Component, SettableTooltipClient, AsyncUpdater, Label::Listener, Value::Listener

所有成员

class Listener
该类专门从Slider类中接收回调。 更多…

Public类型

enum SliderStyle {
LinearHorizontal, LinearVertical, LinearBar, Rotary,
RotaryHorizontalDrag, RotaryVerticalDrag, IncDecButtons, TwoValueHorizontal,
TwoValueVertical, ThreeValueHorizontal, ThreeValueVertical
}

推子的类型(外观、样式)。

更多…
enum IncDecButtonMode { incDecButtonsNotDraggable, incDecButtonsDraggable_AutoDirection, incDecButtonsDraggable_Horizontal, incDecButtonsDraggable_Vertical }

被该函数使用:setIncDecButtonsMode()

更多…
enum TextEntryBoxPosition {
NoTextBox, TextBoxLeft, TextBoxRight, TextBoxAbove,
TextBoxBelow
}

输入数值的文本框所在的位置。

更多…
enum ColourIds {
backgroundColourId = 0x1001200, thumbColourId = 0x1001300, trackColourId = 0x1001310, rotarySliderFillColourId = 0x1001311,
rotarySliderOutlineColourId = 0x1001312, textBoxTextColourId = 0x1001400, textBoxBackgroundColourId = 0x1001500, textBoxHighlightColourId = 0x1001600,
textBoxOutlineColourId = 0x1001700
}

推子的各元素所使用的颜色。

更多…

Public成员函数

Slider (const String &componentName=String::empty)
创建一个推子。 
~Slider ()
 析构函数。 

void setSliderStyle (SliderStyle newStyle)
设置推子的外观和样式。
SliderStyle getSliderStyle () const throw ()
返回推子的外观样式。
void setRotaryParameters (float startAngleRadians, float endAngleRadians, bool stopAtEnd)
改变旋钮式推子的属性。
void setMouseDragSensitivity (int distanceForFullScaleDrag)
设置鼠标拖动的距离和调整数值时数值变化多寡的映射关系(鼠标灵敏度)。
int getMouseDragSensitivity () const throw ()
返回当前设置的鼠标灵敏度,该值由setMouseDragSensitivity()设置。
void setVelocityBasedMode (bool isVelocityBased)
改变鼠标拖拽以调整数值的方式。
bool getVelocityBasedMode () const throw ()
如果已设置为力度敏感模式,则返回true。
void setVelocityModeParameters (double sensitivity=1.0, int threshold=1, double offset=0.0, bool userCanPressKeyToSwapMode=true)
设置力度敏感模式的诸多属性。
double getVelocitySensitivity () const throw ()
返回所设置的力度敏感属性。
int getVelocityThreshold () const throw ()
返回所设置的力度敏感阈值。
double getVelocityOffset () const throw ()
返回所设置的力度偏移量。
bool getVelocityModeIsSwappable () const throw ()
返回所设置的力度键。
void setSkewFactor (double factor)
设置对数式刻度的斜率因数。
void setSkewFactorFromMidPoint (double sliderValueToShowAtMidPoint)
设置对数式刻度的斜率因数。
double getSkewFactor () const throw ()
返回当前的对数式刻度的斜率因数。
void setIncDecButtonsMode (IncDecButtonMode mode)
推子样式为加减按钮时,此函数可设置鼠标操作的方式,比如允许鼠标拖拽以调整数值。
void setTextBoxStyle (TextEntryBoxPosition newPosition, bool isReadOnly, int textEntryBoxWidth, int textEntryBoxHeight)
设置推子附带的文本框的位置和属性。
const TextEntryBoxPosition getTextBoxPosition () const throw ()
返回文本框的位置。
int getTextBoxWidth () const throw ()
返回文本框的宽度。
int getTextBoxHeight () const throw ()
返回文本框的高度。
void setTextBoxIsEditable (bool shouldBeEditable)
使文本框为可编辑。
bool isTextBoxEditable () const
如果文本框当前的状态为只读模式,则返回true。
void showTextBox ()
如果文本框可编辑,此函数将给它一个焦点以供用户输入数值。
void hideTextBox (bool discardCurrentEditorContents)
当文本框当前具有焦点并且可编辑,此函数将重置文本框的状态并转移焦点。
void setValue (double newValue, bool sendUpdateMessage=true, bool sendMessageSynchronously=false)
改变推子的当前数值。
double getValue () const
返回推子的当前值。
Value & getValueObject ()
返回一个表示推子当前位置的Value对象。
void setRange (double newMinimum, double newMaximum, double newInterval=0)
设置推子的最小值、最大值和数值改变的最小单位。
double getMaximum () const
返回推子的最大值。
double getMinimum () const
返回推子的最小值。
double getInterval () const
返回调整数值的最小单位。
double getMinValue () const
带有两个滑块的推子,此函数返回其中的较小值。
Value & getMinValueObject () throw ()
带有两个滑块的推子,此函数返回其中的较小值。
void setMinValue (double newValue, bool sendUpdateMessage=true, bool sendMessageSynchronously=false, bool allowNudgingOfOtherValues=false)
带有两个或三个滑块的推子,此函数用来设置较小值。
double getMaxValue () const
带有两个或三个滑块的推子,此函数返回较大的值。
Value & getMaxValueObject () throw ()
带有两个或三个滑块的推子,此函数返回较大的值。
void setMaxValue (double newValue, bool sendUpdateMessage=true, bool sendMessageSynchronously=false, bool allowNudgingOfOtherValues=false)
带有两个或三个滑块的推子,此函数用来设置较大值。
void addListener (Listener *listener)
添加捕获器。当推子数值改变时将自动调用该捕获器。
void removeListener (Listener *listener)
移除已经绑定的捕获器。
void setDoubleClickReturnValue (bool isDoubleClickEnabled, double valueToSetOnDoubleClick)
设置鼠标双击后的推子值。
double getDoubleClickReturnValue (bool &isEnabled) const
返回鼠标双击后,setDoubleClickReturnValue()函数所设置的数值。
void setChangeNotificationOnlyOnRelease (bool onlyNotifyOnRelease)
用户拖拽推子时,是否持续发送数值改变消息。
void setSliderSnapsToMousePosition (bool shouldSnapToMouse)
点击鼠标后,滑块是否跳到鼠标点击的位置。
void setPopupDisplayEnabled (bool isEnabled, Component *parentComponentToUse)
如果开启,则拖拽鼠标时实时显示当前数值。
void setPopupMenuEnabled (bool menuEnabled)
如果设置为true,则鼠标右键点击推子将弹出菜单,供用户改变推子的工作方式。
void setScrollWheelEnabled (bool enabled)
是否开启转动鼠标滚轮以调整数值。
int getThumbBeingDragged () const throw ()
返回当前鼠标所拖拽的滑块。
virtual void startedDragging ()
鼠标开始拖拽后自动回调此函数。
virtual void stoppedDragging ()
鼠标停止拖拽后自动回调此函数。
virtual void valueChanged ()
推子值改变时自动回调此函数。
virtual double getValueFromText (const String &text)
派生类可重写此函数,将一个文本字符串转换为推子的当前数值。
virtual const String getTextFromValue (double value)
将推子的当前值转换为文本字符串。
void setTextValueSuffix (const String &suffix)
设置所显示的数字后缀。比如“%”、“dB”等等。

const String getTextValueSuffix () const
返回setTextValueSuffix()所设置的后缀。
virtual double proportionOfLengthToValue (double proportion)
自定义数值与距离的相对关系。
virtual double valueToProportionOfLength (double value)
通过推子的长度自定义数值与位置的相对关系。
float getPositionOfValue (double value)
返回X坐标或Y坐标,该坐标值参照基准为推子的长度。
virtual double snapValue (double attemptedValue, bool userIsDragging)
可重写此函数,使推子自动吸附到自定义的数值。
void updateText ()
强制文本框刷新内容。
bool isHorizontal () const
如果是水平式推子,返回true。
bool isVertical () const
如果是垂直式推子,返回true。

Protected成员函数

void labelTextChanged (Label *)
文本标签的内容改变后调用此函数。
void paint (Graphics &g)
组件可重写此函数以绘制其内容。
void resized ()
组件的大小发生变化时自动调用此函数。
void mouseDown (const MouseEvent &e)
当鼠标指针位于此组件并且点击某个鼠标键,尚未释放时,自动调用此函数。
void mouseUp (const MouseEvent &e)
鼠标点击并释放某个鼠标按键时自动调用此函数。
void mouseDrag (const MouseEvent &e)
当鼠标拖拽时,自动调用此函数。
void mouseDoubleClick (const MouseEvent &e)
鼠标在此组件中双击时自动调用此函数。
void mouseWheelMove (const MouseEvent &e, float wheelIncrementX, float wheelIncrementY)
转动鼠标滚轮键时自动调用此函数。
void modifierKeysChanged (const ModifierKeys &modifiers)
按下或释放某个功能键时自动调用此函数。
void buttonClicked (Button *button)
void lookAndFeelChanged ()
当该组件所使用的外观与感觉发生变化时,自动调用此函数。
void enablementChanged ()
启用或禁用此组件时自动调用此函数。
void focusOfChildComponentChanged (FocusChangeType cause)
此组件的子组件拥有或失去键盘焦点时自动调用此函数。
void handleAsyncUpdate ()
如果该类需要完成额外的功能,可重写此函数。
void colourChanged ()
当setColour()函数改变某个颜色时,自动调用此函数。
void valueChanged (Value &value)
当Value对象改变后自动调用该函数。
int getNumDecimalPlacesToDisplay () const throw ()
返回要显示数字时的最佳小数位。

详细说明

可调整或改变数值的推子(滑块、旋钮)。

推子可以是水平的、垂直的、旋钮式的,可设置是否附带可供显示和输入数值的文本框,并可设置文本框的位置。

要使用不同的外观样式,首先创建一个Slider对象,调用setSliderStyle()方法设置其样式。而后使用setTextBoxStyle()设置文本框。

要定义可调整的数值范围,使用:setRange()和setValue()等方法。

可派生本类的子类,重写虚函数以实现更多的功能和目的,比如改变刻度(比例)、文本框显示的格式、限制数值的范围的条件等等。

可以为推子绑定一个Slider::Listener对象,当推子的数值改变时将自动调用之。

参见:
Slider::Listener

成员函数文档

enum Slider::SliderStyle
推子的类型(外观、样式)。

参见:
setSliderStyle, setRotaryParameters
枚举常量:
LinearHorizontal
传统的水平式推子。

LinearVertical
传统的垂直式推子。

LinearBar
进度条式水平调整器,进度条中部显示当前数值。

Rotary
类似旋钮的数值调整器,鼠标拖拽的方式为环形。

参见:
setRotaryParameters
RotaryHorizontalDrag
类似旋钮的数值调整器,鼠标调整数值的方式为左右拖拽。

参见:
setRotaryParameters
RotaryVerticalDrag
类似旋钮的数值调整器,鼠标调整数值的方式为上下拖拽。

参见:
setRotaryParameters
IncDecButtons
带一对按钮和一个文本框,按钮用来加减数值。设置可调整的数值范围使用setRange()方法。

TwoValueHorizontal
带有两个滑块的水平式推子,可同时显示并调整所设置的较小值和较大值。

参见:
setMinValue, setMaxValue
TwoValueVertical
带有两个滑块的垂直式推子,可同时显示并调整所设置的较小值和较大值。

参见:
setMinValue, setMaxValue
ThreeValueHorizontal
带有三个滑块的水平式推子,可同时显示并调整较小值、中间值和较大值。

参见:
setMinValue, setMaxValue
ThreeValueVertical
带有三个滑块的垂直式推子,可同时显示并调整较小值、中间值和较大值。

参见:
setMinValue, setMaxValue
enum Slider::IncDecButtonMode
被该函数使用:setIncDecButtonsMode()

枚举常量:
incDecButtonsNotDraggable
incDecButtonsDraggable_AutoDirection
incDecButtonsDraggable_Horizontal
incDecButtonsDraggable_Vertical
enum Slider::TextEntryBoxPosition
输入数值的文本框所在的位置。

参见:
setTextBoxStyle
枚举常量:
NoTextBox
不显示文本框。

TextBoxLeft
文本框置于推子的左侧。垂直式推子,文本框自动上下居中。

TextBoxRight
文本框置于推子的右侧,垂直式推子,文本框自动上下居中。

TextBoxAbove
文本框置于推子的顶部,水平式推子,文本框自动左右居中。

TextBoxBelow
文本框置于推子的底部,水平式推子,文本框自动左右居中。

enum Slider::ColourIds
推子的各元素所使用的颜色。

这些枚举常量可被以下函数使用:Component::setColour(), LookAndFeel::setColour()。

参见:
Component::setColour, Component::findColour, LookAndFeel::setColour, LookAndFeel::findColour
枚举常量:
backgroundColourId
推子的背景色。

thumbColourId
推子滑块的颜色。

可参见LookAndFeel类如何使用此常量。

trackColourId
滑轨的颜色。

rotarySliderFillColourId
旋钮外环的颜色。

rotarySliderOutlineColourId
旋钮外环的轮廓颜色。

textBoxTextColourId
文本框中所显示的文本的颜色。

textBoxBackgroundColourId
文本框的背景色。

textBoxHighlightColourId
文本框的高亮颜色。

textBoxOutlineColourId
文本框的边框颜色。

构造函数和析构函数文档

Slider::Slider ( const String & componentName = String::empty ) [explicit]
创建一个推子。

创建推子后,需要设置其样式和可调整的数值范围,使用以下函数:setSliderStyle(), setRange()。

Slider::~Slider ( )
析构函数。

成员函数文档

void Slider::setSliderStyle ( SliderStyle newStyle )
设置推子的外观和样式。

参数:
newStyle 外观样式
参见:
setRotaryParameters, setVelocityBasedMode,
SliderStyle Slider::getSliderStyle ( ) const throw ()
返回推子的外观样式。

参见:
setSliderStyle
void Slider::setRotaryParameters ( float startAngleRadians,
float endAngleRadians,
bool stopAtEnd
)
改变旋钮式推子的属性。

参数:
startAngleRadians 最小值位于的位置。设置单位为弧度,从顶部正中12点方向顺时针算起。
endAngleRadians 最大值位于的位置,设置单位为弧度,从顶部正中12点方向顺时针算起。此值必须大于startAngleRadians。
stopAtEnd 如果为true,调整到最小值会哦最大值的位置时,会自动停止,无法再继续调整。如果为false,则会返回相反的状态重新开始调整。
void Slider::setMouseDragSensitivity ( int distanceForFullScaleDrag )
设置鼠标拖动的距离和调整数值时数值变化多寡的映射关系(鼠标灵敏度)。

此函数仅应用于RotaryHorizontalDrag(采用水平拖拽以调整数值的旋钮),使用鼠标移动的相对距离来调整推子的数值。

int Slider::getMouseDragSensitivity ( ) const throw ()
返回当前设置的鼠标灵敏度,该值由setMouseDragSensitivity()设置。

void Slider::setVelocityBasedMode ( bool isVelocityBased )
改变鼠标拖拽以调整数值的方式。

如果为true,将切换为力度敏感模式,鼠标移动的越快,数值变化的越多。此方法有助于精确调整数值。

如果为false,则切换为吸附鼠标位置的跟随模式。

bool Slider::getVelocityBasedMode ( ) const throw ()
如果已设置为力度敏感模式,则返回true。

参见:
setVelocityBasedMode
void Slider::setVelocityModeParameters ( double sensitivity = 1.0,
int threshold = 1,
double offset = 0.0,
bool userCanPressKeyToSwapMode = true
)
设置力度敏感模式的诸多属性。

当setVelocityBasedMode()设置为力度模式或按住Ctrl键盘拖拽鼠标时,将自动应用这些设置。

参数:
sensitivity 大于1.0为增大加速范围
threshold 鼠标移动的最小像素值(阈值)。少于此值,移动鼠标不会认为是调整数值。可利用此值设置吸附效果。
offset 值大于0为增加达到阈值时将使用的最小加速值
userCanPressKeyToSwapMode 如果为true,则允许用户按住Ctrl键或Command键切换速率敏感的模式
double Slider::getVelocitySensitivity ( ) const throw ()
返回所设置的力度敏感属性。

参见:
setVelocityModeParameters
int Slider::getVelocityThreshold ( ) const throw ()
返回所设置的力度敏感阈值。

参见:
setVelocityModeParameters
double Slider::getVelocityOffset ( ) const throw ()
返回所设置的力度偏移量。

参见:
setVelocityModeParameters
bool Slider::getVelocityModeIsSwappable ( ) const throw ()
返回所设置的力度键。

参见:
setVelocityModeParameters

void Slider::setSkewFactor ( double factor )
设置对数式刻度的斜率因数。

数值分布采用对数式。

如果参数factor小于1.0,较小的数值将占用更多的范围。如果大于1.0,较大的数值将占用更多的范围。设置为1.0则平均分布数值。

可使用setSkewFactorFromMidPoint()方法设置对数式刻度的中点。

参见:
getSkewFactor, setSkewFactorFromMidPoint
void Slider::setSkewFactorFromMidPoint ( double sliderValueToShowAtMidPoint )
设置对数式刻度的斜率因数。

设置推子轨道中点处的数值。

参见:
setSkewFactor, getSkewFactor
double Slider::getSkewFactor ( ) const throw ()
返回当前的对数式刻度的斜率因数。

参见setSkewFactor。

参见:
setSkewFactor, setSkewFactorFromMidPoint
void Slider::setIncDecButtonsMode ( IncDecButtonMode mode )
推子样式为加减按钮时,此函数可设置鼠标操作的方式,比如允许鼠标拖拽以调整数值。

默认情况下,为关闭状态。开启后,点击加减按钮依然正常作用,但同时也可以在按钮位置拖拽鼠标以调整数值。拖拽方式可以设置为垂直式或水平式,也可设置为incDecButtonsDraggable_AutoDirection(自动模式),此模式下根据按钮的样式和位置自动确定拖拽方式。

void Slider::setTextBoxStyle ( TextEntryBoxPosition newPosition,
bool isReadOnly,
int textEntryBoxWidth,
int textEntryBoxHeight
)
设置推子附带的文本框的位置和属性。

参数:
newPosition 文本框的位置(设置为NoTextBox则不显示文本框)
isReadOnly 是否只读。如果为true,则不可手工输入数值。
textEntryBoxWidth 文本框的宽度。单位:像素。注意要给推子留下足够的空间!
textEntryBoxHeight 文本框的高度。单位:像素。注意要给推子留下足够的空间!
参见:
setTextBoxIsEditable, getValueFromText, getTextFromValue
const TextEntryBoxPosition Slider::getTextBoxPosition ( ) const throw ()
返回文本框的位置。

参见:
setTextBoxStyle
int Slider::getTextBoxWidth ( ) const throw ()
返回文本框的宽度。

参见:
setTextBoxStyle
int Slider::getTextBoxHeight ( ) const throw ()
返回文本框的高度。

参见:
setTextBoxStyle
void Slider::setTextBoxIsEditable ( bool shouldBeEditable )
使文本框为可编辑。

默认情况下,文本框是可以编辑的(以便用户手工输入数值)。但是,也可以设置为只读(不可输入数值)。

参见:
setTextBoxStyle, getValueFromText, getTextFromValue
bool Slider::isTextBoxEditable ( ) const
如果文本框当前的状态为只读模式,则返回true。

参见:
setTextBoxStyle
void Slider::showTextBox ( )
如果文本框可编辑,此函数将给它一个焦点以供用户输入数值。

当用户点击文本框时,这是最基本的效果。

void Slider::hideTextBox ( bool discardCurrentEditorContents )
当文本框当前具有焦点并且可编辑,此函数将重置文本框的状态并转移焦点。

参数:
discardCurrentEditorContents 如果为true,则放弃已做的修改。如果为false,则已经输入的值将产生作用。
void Slider::setValue ( double newValue,
bool sendUpdateMessage = true,
bool sendMessageSynchronously = false
)
改变推子的当前数值。

此函数将触发Slider::Listener::sliderValueChanged()等所有已经绑定的捕获器,并将同步调用需在派生类中重写的valueChanged()方法。

参数:
newValue 要设置的新数值。该值将自动做上下限截止处理,并且自动“吸附”到最接近的数值。
sendUpdateMessage 如果为false,则数值改变后不触发任何已经绑定的Slider::Listeners捕获器,也不调用valueChanged()方法。
sendMessageSynchronously 如果为true,则同步调用Slider::Listeners捕获器。如果为false,则为非同步调用(异步调用)。
double Slider::getValue ( ) const
返回推子的当前值。