Ok, I almost finished my program, but there's one little problem.
This is the code:
request.h
Code:
// Create prototype from Request class
class Request
{
public:
Request();
~Request();
// Main function
bool handle_requests();
// MySQL Functions
bool connect_to_db();
protected:
// Winamp vars
WINAMPCOMLib::IApplicationPtr winamp;
// MySQL vars
MYSQL * mysql_conn;
MYSQL_RES * result;
MYSQL_ROW row;
};
main.cpp
Code:
#include <windows.h>
#include <mysql.h>
#include <iostream>
#include <stdio.h>
#pragma comment(lib, "D:\\server\\mysql\\lib\\opt\\libmysql.lib")
#import "c:\program files\winamp\plugins\gen_com.dll"
#include "request.h"
using namespace std;
Request::Request()
{
cout << "Create winamp instance" << endl;
// Create winamp instance
Request::winamp.CreateInstance(__uuidof(WINAMPCOMLib::Application));
cout << "Done." << endl;
}
Request::~Request()
{
mysql_close(Request::mysql_conn);
}
bool Request::connect_to_db()
{
cout << "Connecting to Database..." << endl;
mysql_init(Request::mysql_conn);
if(!mysql_real_connect(Request::mysql_conn, "localhost", "lucas", "***", "luckyradio", 0, NULL, 0))
{
cout << "Could not connect to database:\n" << mysql_error(Request::mysql_conn) << endl;
return false;
}
cout << "Done." << endl;
return true;
}
bool Request::handle_requests()
{
cout << "Started Winamp Request Handler" << endl;
while(true)
{
if(!Request::winamp->CurrentPos)
{
if(!mysql_query(Request::mysql_conn, "SELECT * FROM e107_wa_request ORDER BY request_id ASC LIMIT 1"))
{
cout << "Error in selecting requests:\n" << mysql_error(Request::mysql_conn) << endl;
return false;
}
result = mysql_use_result(Request::mysql_conn);
row = mysql_fetch_row(result);
long playlist_pos = reinterpret_cast<long>(row[1]);
Request::winamp->put_PlayListPos(playlist_pos);
Request::winamp->Play();
cout << "Requesting: " << Request::winamp->GetSongTitle(playlist_pos) << "..." << endl;
}
}
return false;
}
int main()
{
Request request;
if(request.connect_to_db())
{
request.handle_requests();
cin.get();
}
return 1;
}
I compile it with Visual C++ 2005 Express edition, and no errors appear. Compile succesfull
But, when I try to start the program, I get this:
http://www.aoe3capitol.nl/images/requester_error.png
Does anyone know how I can fix this?