now i have made few changes in this code Laurent .. and it's playing the voice of cat ...
but something is going wrong .. when i select cat and press speak it will play voice of cat .. but on second time when i press speak button it will play voice of cat but also displays an error message on console !
#include <SFML/Audio.hpp>
#include <TGUI/TGUI.hpp>
#include <conio.h>
//void function(const tgui::Callback& callback)
//{
// if (callback.id == 1)
// {
// //std::cout << "Hello world" << std::endl;
// }
//
//
//
//}
int main()
{
sf::SoundBuffer buffer;
sf::Sound sound;
//sound.setBuffer(buffer);
sound.setPitch(1.5f);
sound.setVolume(80);
// Create the window
sf::RenderWindow window(sf::VideoMode(800, 600), "Window");
tgui::Gui gui(window);
// Load the font (you should check the return value to make sure that it is loaded)
gui.setGlobalFont("C:/Users/corleone/Documents/Visual Studio 2010/Projects/MySfml/MySfml/TGUI-0.6-alpha2-Visual-C++10-2010-32-bits/TGUI-0.6-alpha2/fonts/DejaVuSans.ttf");
tgui::Button::Ptr button(gui);
button->load("C:/Users/corleone/Documents/Visual Studio 2010/Projects/MySfml/MySfml/TGUI-0.6-alpha2-Visual-C++10-2010-32-bits/TGUI-0.6-alpha2/widgets/Black.conf");
button->setPosition(250, 350);
button->setText("SPEAK");
button->setSize(300, 40);
//button->setCallbackId(1);
//button->bindCallbackEx(function, tgui::Button::LeftMouseClicked);
tgui::ListBox::Ptr listBox(gui);
listBox->load("C:/Users/corleone/Documents/Visual Studio 2010/Projects/MySfml/MySfml/TGUI-0.6-alpha2-Visual-C++10-2010-32-bits/TGUI-0.6-alpha2/widgets/Black.conf");
listBox->setSize(150, 120);
listBox->setItemHeight(30);
listBox->setPosition(300, 100);
listBox->addItem("HORSE");
listBox->addItem("CAT");
listBox->addItem("DONKEY");
listBox->addItem("LION");
listBox->addItem("GOAT");
listBox->setCallbackId(2);
//listBox->getSelectedItem();
//listBox->bindCallbackEx(function, tgui::ListBox::ItemSelected);
tgui ::Callback callback;
button->bindCallback(tgui::Button::LeftMouseClicked);
button->setCallbackId(1);
while (window.isOpen())
{
/////////////////////////////////////////////////////
while (gui.pollCallback(callback))
{
if(callback.id==1)
{
if (listBox->getSelectedItem()=="CAT")
{
//std::cout<<"heloooo!";
if (!buffer.loadFromFile("Cat Meow.wav"))
{
//sound.setBuffer(buffer);
std::cout << "Error while loading file" << std::endl;
}
else
{
sound.setBuffer(buffer);
sound.play();
}
}
else
{
std::cout<<"aceesing CAT failed!"<<std::endl;
}
}
else
{
std::cout<<"id is not valid!!!!"<<std::endl;
}
}
//////////////////////////////////////////////////////
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
// Pass the event to all the widgets (if there would be widgets)
gui.handleEvent(event);
}
window.clear();
// Draw all created widgets
gui.draw();
window.display();
}
//getch();
return EXIT_SUCCESS;
}