- Play function: does not unload the played file anymore. After playing a file with this function, you need to unload it manually using the unloadFile function.
Old: | AudioPlayer = ALProxy("ALAudioPlayer",RobotIP, Port) fileId = AudioPlayer.loadFile("/home/nao/MyAudioFile.wav") AudioPlayer.play(fileId) fileId = AudioPlayer.loadFile("/home/nao/MyAudioFile.wav") AudioPlayer.play(fileId) |
---|---|
New: | AudioPlayer = ALProxy("ALAudioPlayer",RobotIP, Port) fileId = AudioPlayer.loadFile("/home/nao/MyAudioFile.wav") AudioPlayer.play(fileId) AudioPlayer.play(fileId) AudioPlayer.unloadFile(fileId) |
setParameter(std::string detector, std::string parameter, float ALValue)
- Use instead: setParameter(std::string parameter, float ALValue)
threshold, dnoise and windowSize parameters
- Use instead: Sensibility parameter
ALValue getDescription(string detector, string type) and ALValue getEvents(string type)
- Use instead: SoundDetected ALMemory key to collect the information
The folder, box names and boxes of the Choregraphe box library changed. The list of the name changes:
Tip: Use the Search tab of the box library to easily find the box you are looking for.
self.log("string")
- Use instead: self.logger.info("message string"), self.logger.error("error string"), etc for finer debugging
The templates used by the module generator have changed, the newly generated code is much better. We tried to keep backward compatibily, but it's not always possible.
Old: | #include "alproxy.h" |
---|---|
New: | #include <alcommon/alproxy.h> |
Old: | // In .h #include "alextractor.h" class MyExtractor: public AL::ALExtractor { ... } ; // In CMakeLists: use_lib(myextractor ALCOMMONFULL) |
---|---|
New: | // In .h #include <alextractor/alextractor.h> class MyExtractor: public AL::ALExtractor { ... } ; // In CMakeLists use_lib(myextractor ALCOMMON ALEXTRACTOR) |
Old: | // In .h #include "almemoryfastaccess" // In CMakeLists: use_lib(mymodule ALCOMMON) |
---|---|
New: | // In .h #include <almemoryfastaccess/almemoryfastaccess.h> // In CMakeLists: use_lib(mymodule ALCOMMON ALMEMORY_FAST_ACCESS) |
Old: | // In .h AL::ALPtr<AL::ALProxy> xCamProxy; // In .cpp xCamProxy = ALPtr<ALProxy>(); ... xCamProxy = getParentBroker()->getProxy("ALVideoDevice"); ... ALImage* xptr_ALImageRaw = (ALImage*)AL::ALVideoDeviceProxy(fCamProxy->getParentBroker()).getImageLocal(xGvmName); |
---|---|
New: | // In .h #include <alvideodeviceproxy.h> ... AL::ALPtr<AL::ALVideoDeviceProxy> xCamProxy; // In .cpp xCamProxy = ALPtr<AL::ALVideoDeviceProxy>(); ... ALPtr<ALVideoDeviceProxy>( new ALVideoDeviceProxy(getParentBroker())); ... ALImage* xptr_ALImageRaw = (ALImage*)xCamProxy->getImageLocal(xGvmName); |
A MicroEvent is generated when the robot pose changed. The ALMemory Key is robotPoseChanged, its a string corresponding to the actual robot Pose. Also some fast access Memory key are available: robotPose An integer in relation with the actual pose(use getPoseNames() to have a relation between int and string) robotPoseSince A float corresponding to the time[seconds] since the actual Pose is active.
Old: | std::string inertial = memoryProxy->getData("OrientationChanged", 0); |
---|---|
New: | std::string inertial = robotPoseProxy->getData("robotPoseChanged", 0); |
robotPoseChanged returns one of the following values: ["Unknown", "Stand", "Sit", "Crouch", "Knee", "Frog", "Back", "Belly", "Left", "Right", "HeadBack"]