void initComponents() { setBackground(BG_COLOR); setBounds(120, 120, ICON_WIDTH * 3 + PROGRESS_SIZE + PADDING * 3 + 40, ICON_HEIGHT + PROGRESS_SIZE + 50); statusLabel_ = new Label("ready"); statusLabel_->setBounds(START_X, START_Y, ICON_WIDTH * 4, ICON_HEIGHT); statusLabel_->setBackground(BG_COLOR); statusLabel_->setForeground(monagui::Color::gray); add(statusLabel_); playButton_ = new ImageSinkButton(playImage_, stopImage_, playImageFocused_); playButton_->setBounds(ICON_WIDTH + PADDING + START_X, ICON_HEIGHT + START_Y + PADDING, ICON_WIDTH, ICON_HEIGHT); add(playButton_); backButton_ = new ImageButton(backImage_, backImageFocused_); backButton_->setBounds(START_X, ICON_HEIGHT + START_Y + PADDING, ICON_WIDTH, ICON_HEIGHT); add(backButton_); forwardButton_ = new ImageButton(forwardImage_, forwardImageFocused_); forwardButton_->setBounds(ICON_WIDTH * 2 + PADDING * 2 + START_X, ICON_HEIGHT + START_Y + PADDING, ICON_WIDTH, ICON_HEIGHT); add(forwardButton_); Strings icons; icons.push_back(APPLICATION_DATA_DIR"/BAR0.JPG"); icons.push_back(APPLICATION_DATA_DIR"/BAR1.JPG"); icons.push_back(APPLICATION_DATA_DIR"/BAR2.JPG"); icons.push_back(APPLICATION_DATA_DIR"/BAR3.JPG"); icons.push_back(APPLICATION_DATA_DIR"/BAR4.JPG"); progressIcon_ = new ProgressIcon(icons, PROGRESS_SIZE, PROGRESS_SIZE); progressIcon_->setBounds(ICON_WIDTH * 3 + PADDING * 3 + START_X, ICON_HEIGHT + START_Y + PADDING, PROGRESS_SIZE, PROGRESS_SIZE); add(progressIcon_); }
void play() { syscall_get_io(); for (uint32_t i = playIndex_; i < playList_.size(); i++) { string path = APPLICATION_DATA_DIR"/" + playList_[i]; scoped_ptr<SharedMemory> shm(monapi_file_read_all(path.c_str())); if (NULL == shm.get() || shm->size() == 0) return; string mml = string((char*)shm->data(), shm->size()); statusLabel_->setText(beeper_.title(mml.c_str()).c_str()); beeper_.play(mml.c_str()); beeper_.rest(1000); } playIndex_ = 0; playButton_->revert(); }
void play() { syscall_get_io(); for (uint32_t i = playIndex_; i < playList_.size(); i++) { string path = APPLICATION_DATA_DIR"/" + playList_[i]; monapi_cmemoryinfo* mi = monapi_file_read_all(path.c_str()); if (NULL == mi || mi->Size == 0) return; string mml = string((char*)mi->Data, mi->Size); statusLabel_->setText(beeper_.title(mml.c_str()).c_str()); beeper_.play(mml.c_str()); beeper_.rest(1000); } playIndex_ = 0; playButton_->revert(); }