added music playing, not properly tested
This commit is contained in:
		
							parent
							
								
									0fb38b5573
								
							
						
					
					
						commit
						a97f223390
					
				@ -38,7 +38,8 @@ SOURCES += main.cpp\
 | 
				
			|||||||
    aocharmovie.cpp \
 | 
					    aocharmovie.cpp \
 | 
				
			||||||
    aoemotebutton.cpp \
 | 
					    aoemotebutton.cpp \
 | 
				
			||||||
    emotes.cpp \
 | 
					    emotes.cpp \
 | 
				
			||||||
    aosfxplayer.cpp
 | 
					    aosfxplayer.cpp \
 | 
				
			||||||
 | 
					    aomusicplayer.cpp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HEADERS  += lobby.h \
 | 
					HEADERS  += lobby.h \
 | 
				
			||||||
    aoimage.h \
 | 
					    aoimage.h \
 | 
				
			||||||
@ -60,6 +61,7 @@ HEADERS  += lobby.h \
 | 
				
			|||||||
    aocharmovie.h \
 | 
					    aocharmovie.h \
 | 
				
			||||||
    aoemotebutton.h \
 | 
					    aoemotebutton.h \
 | 
				
			||||||
    bass.h \
 | 
					    bass.h \
 | 
				
			||||||
    aosfxplayer.h
 | 
					    aosfxplayer.h \
 | 
				
			||||||
 | 
					    aomusicplayer.h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
unix:LIBS += -L/home/omnitroid/lib/bass_linux -lbass
 | 
					unix:LIBS += -L/home/omnitroid/Project/Attorney_Online_2/src -lbass
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										52
									
								
								aomusicplayer.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								aomusicplayer.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,52 @@
 | 
				
			|||||||
 | 
					#include "aomusicplayer.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <QDebug>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AOMusicPlayer::AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  m_parent = parent;
 | 
				
			||||||
 | 
					  ao_app = p_ao_app;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  BASS_Init(-1, 44100, BASS_DEVICE_LATENCY, 0, NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void AOMusicPlayer::play(QString p_song)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  BASS_ChannelStop(m_stream);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  QString f_path = ao_app->get_music_path(p_song);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  m_stream = BASS_StreamCreateFile(FALSE, f_path.toStdString().c_str(), 0, 0, BASS_STREAM_PRESCAN);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*
 | 
				
			||||||
 | 
					   if ((BASS_StreamPutFileData(
 | 
				
			||||||
 | 
					      m_stream,
 | 
				
			||||||
 | 
					      p_path.toStdString().c_str(),
 | 
				
			||||||
 | 
					      BASS_FILEDATA_END
 | 
				
			||||||
 | 
					  ) == -1))
 | 
				
			||||||
 | 
					   {
 | 
				
			||||||
 | 
					       qDebug() << "BASS_StreamPutFileData failllled!";
 | 
				
			||||||
 | 
					       qDebug() << "Error: " << QString::number(BASS_ErrorGetCode());
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (m_stream == 0)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    qDebug() << "OHSHIT something broke. error code: " << QString::number(BASS_ErrorGetCode());
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  //m_stream = BASS_StreamCreateFileUser(STREAMFILE_BUFFERPUSH, BASS_STREAM_AUTOFREE, nullptr, p_path.toStdString().c_str());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (BASS_ChannelPlay(m_stream, true))
 | 
				
			||||||
 | 
					    qDebug() <<"success.";
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    qDebug() <<"error";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  qDebug() << QString::number(BASS_ErrorGetCode());
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										23
									
								
								aomusicplayer.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								aomusicplayer.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					#ifndef AOMUSICPLAYER_H
 | 
				
			||||||
 | 
					#define AOMUSICPLAYER_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "bass.h"
 | 
				
			||||||
 | 
					#include "aoapplication.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <QWidget>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class AOMusicPlayer
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
					  AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void play(QString p_song);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private:
 | 
				
			||||||
 | 
					  QWidget *m_parent;
 | 
				
			||||||
 | 
					  AOApplication *ao_app;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  HSTREAM m_stream;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif // AOMUSICPLAYER_H
 | 
				
			||||||
@ -2,12 +2,51 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <QDebug>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
AOSfxPlayer::AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app)
 | 
					AOSfxPlayer::AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  m_parent = parent;
 | 
					  m_parent = parent;
 | 
				
			||||||
  ao_app = p_ao_app;
 | 
					  ao_app = p_ao_app;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  std::basic_string<char> path = ao_app->get_sounds_path().toStdString() + "sfx-squee.wav";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  m_stream = BASS_StreamCreateFile(FALSE, path.c_str(), 0, 0, 0);
 | 
					  BASS_Init(-1, 44100, BASS_DEVICE_LATENCY, 0, NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void AOSfxPlayer::play(QString p_path)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  BASS_Stop();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  m_stream = BASS_StreamCreateFile(FALSE, p_path.toStdString().c_str(), 0, 0, BASS_STREAM_PRESCAN);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /*
 | 
				
			||||||
 | 
					   if ((BASS_StreamPutFileData(
 | 
				
			||||||
 | 
					      m_stream,
 | 
				
			||||||
 | 
					      p_path.toStdString().c_str(),
 | 
				
			||||||
 | 
					      BASS_FILEDATA_END
 | 
				
			||||||
 | 
					  ) == -1))
 | 
				
			||||||
 | 
					   {
 | 
				
			||||||
 | 
					       qDebug() << "BASS_StreamPutFileData failllled!";
 | 
				
			||||||
 | 
					       qDebug() << "Error: " << QString::number(BASS_ErrorGetCode());
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (m_stream == 0)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    qDebug() << "OHSHIT something broke. error code: " << QString::number(BASS_ErrorGetCode());
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  //m_stream = BASS_StreamCreateFileUser(STREAMFILE_BUFFERPUSH, BASS_STREAM_AUTOFREE, nullptr, p_path.toStdString().c_str());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (BASS_ChannelPlay(m_stream, true))
 | 
				
			||||||
 | 
					    qDebug() <<"success.";
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    qDebug() <<"error";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  BASS_Start();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  qDebug() << QString::number(BASS_ErrorGetCode());
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,8 @@ class AOSfxPlayer
 | 
				
			|||||||
public:
 | 
					public:
 | 
				
			||||||
  AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app);
 | 
					  AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void play(QString p_path);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
  QWidget *m_parent;
 | 
					  QWidget *m_parent;
 | 
				
			||||||
  AOApplication *ao_app;
 | 
					  AOApplication *ao_app;
 | 
				
			||||||
 | 
				
			|||||||
@ -31,6 +31,7 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
 | 
				
			|||||||
  char_button_mapper = new QSignalMapper(this);
 | 
					  char_button_mapper = new QSignalMapper(this);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  sfx_player = new QSoundEffect(this);
 | 
					  sfx_player = new QSoundEffect(this);
 | 
				
			||||||
 | 
					  music_player = new AOMusicPlayer(this, ao_app);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ui_background = new AOImage(this, ao_app);
 | 
					  ui_background = new AOImage(this, ao_app);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1271,7 +1272,7 @@ void Courtroom::handle_song(QStringList *p_contents)
 | 
				
			|||||||
  if (f_contents.size() < 2)
 | 
					  if (f_contents.size() < 2)
 | 
				
			||||||
    return;
 | 
					    return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  //T0D0: add audio implementation
 | 
					  music_player->play(f_contents.at(0));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  int n_char = f_contents.at(1).toInt();
 | 
					  int n_char = f_contents.at(1).toInt();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -9,6 +9,7 @@
 | 
				
			|||||||
#include "aoscene.h"
 | 
					#include "aoscene.h"
 | 
				
			||||||
#include "aomovie.h"
 | 
					#include "aomovie.h"
 | 
				
			||||||
#include "aocharmovie.h"
 | 
					#include "aocharmovie.h"
 | 
				
			||||||
 | 
					#include "aomusicplayer.h"
 | 
				
			||||||
#include "datatypes.h"
 | 
					#include "datatypes.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <QMainWindow>
 | 
					#include <QMainWindow>
 | 
				
			||||||
@ -160,6 +161,7 @@ private:
 | 
				
			|||||||
  QString current_background = "gs4";
 | 
					  QString current_background = "gs4";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  QSoundEffect *sfx_player;
 | 
					  QSoundEffect *sfx_player;
 | 
				
			||||||
 | 
					  AOMusicPlayer *music_player;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  AOImage *ui_background;
 | 
					  AOImage *ui_background;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										12
									
								
								lobby.cpp
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								lobby.cpp
									
									
									
									
									
								
							@ -3,6 +3,7 @@
 | 
				
			|||||||
#include "debug_functions.h"
 | 
					#include "debug_functions.h"
 | 
				
			||||||
#include "aoapplication.h"
 | 
					#include "aoapplication.h"
 | 
				
			||||||
#include "networkmanager.h"
 | 
					#include "networkmanager.h"
 | 
				
			||||||
 | 
					#include "aosfxplayer.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <QDebug>
 | 
					#include <QDebug>
 | 
				
			||||||
#include <QScrollBar>
 | 
					#include <QScrollBar>
 | 
				
			||||||
@ -205,13 +206,22 @@ void Lobby::on_add_to_fav_pressed()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void Lobby::on_add_to_fav_released()
 | 
					void Lobby::on_add_to_fav_released()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  ui_add_to_fav->set_image("addtofav.png");
 | 
					  AOSfxPlayer *sfx = new AOSfxPlayer(this, ao_app);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  QString path = ao_app->get_music_path("Mystery Skulls - Money.mp3");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  qDebug() << "path: " << path;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  sfx->play(path);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ui_add_to_fav->set_image("addtofav.png");
 | 
				
			||||||
 | 
					  /*
 | 
				
			||||||
  //you cant add favorites from favorites m8
 | 
					  //you cant add favorites from favorites m8
 | 
				
			||||||
  if (!public_servers_selected)
 | 
					  if (!public_servers_selected)
 | 
				
			||||||
    return;
 | 
					    return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ao_app->add_favorite_server(ui_server_list->currentRow());
 | 
					  ao_app->add_favorite_server(ui_server_list->currentRow());
 | 
				
			||||||
 | 
					  */
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Lobby::on_connect_pressed()
 | 
					void Lobby::on_connect_pressed()
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user