31
Audio / Re: sf::Time / sf::Audio Operations [Solved]
« on: January 18, 2022, 10:57:04 am »
Cool, thank you! Now I've got the smooth roll in / roll out that I was looking for
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
#ifndef GAME_AUDIO_H
#define GAME_AUDIO_H
#include <Game.hpp>
#include <SFML/Audio.hpp>
#include <SFML/System/Time.hpp>
class GameAudio {
public:
// Construct and Destruct
GameAudio();
virtual ~GameAudio();
// Public Functions
void fadeBGM(float volume, float duration);
void update();
// Public Member Variables
sf::Music m_BGM; // Background Music
protected:
private:
// Private Member Variables
float m_BGMFadeV = 0.0; // BGM Fade Volume
float m_BGMFadeD = 0.0; // BGM Fade Duration
// Private functions
void updateBGM();
// ...Need to add limited vector for sound queue
};
#endif // GAME_AUDIO_H
#include <Game.hpp>
#include <GameAudio.hpp>
#include <SFML/Audio.hpp>
#include <SFML/System/Time.hpp>
/*----------------------------------------------------------------------------*/
// ** GameAudio.fadeBGM(volume, duration, mode)
/*----------------------------------------------------------------------------*/
void GameAudio::fadeBGM(float volume, float duration) {
// Set BGM fade volume and duration
m_BGMFadeV = volume;
m_BGMFadeD = duration;
}
/*----------------------------------------------------------------------------*/
// ** GameAudio.update()
/*----------------------------------------------------------------------------*/
void GameAudio::update() {
/* ...Misc code... */
updateBGM();
/* ...Misc code... */
}
/*----------------------------------------------------------------------------*/
// ** GameAudio.updateBGM()
/*----------------------------------------------------------------------------*/
void GameAudio::updateBGM() {
// If fading BGM in
if (m_BGMFadeV > m_BGM.getVolume()) {
// Get new volume value
float value = (m_BGM.getVolume() + 0.1);
// Roll BGM in
m_BGM.setVolume(value);
// If over limit
if (m_BGMFadeV < m_BGM.getVolume()) {
// Sync volume to stop process
m_BGMFadeV = m_BGM.getVolume();
// End function
return;
}
// Print to console
cout << "Fade BGM (Old Volume = " << m_BGM.getVolume() << ", ";
cout << "New Volume = " << value << ")" << endl;
// If fading BGM out
} else if (m_BGMFadeV < m_BGM.getVolume()) {
// Get new volume value
float value = (m_BGM.getVolume() - 0.1);
// Roll BGM out
m_BGM.setVolume(value);
// If under limit
if (m_BGMFadeV > m_BGM.getVolume()) {
// Sync volume to stop process
m_BGMFadeV = m_BGM.getVolume();
// End function
return;
}
// Print to console
cout << "Fade BGM (Old Volume = " << m_BGM.getVolume() << ", ";
cout << "New Volume = " << value << ")" << endl;
}
}
"Path"=>
C:\\Program Files\\Git\\cmd;
C:\\RGL\\lib\\;
C:\\ActiveTcl\\bin;
C:\\Program Files\\ImageMagick-7.1.0-Q16-HDRI;
C:\\Program Files (x86)\\CMake\\bin;
C:\\TDM-GCC-32\\bin;
C:\\Users\\kainn\\AppData\\Local\\Microsoft\\WindowsApps;
C:\\Program Files\\Git\\cmd;
C:\\Ruby30-x64\\bin;
C:\\RGL\\lib\\;
C:\\RGL\\lib\\gui\\;
C:\\RGL\\error\\;
C:\\RGL\\profs\\;
C:\\RGL\\tests\\;
C:\\ActiveTcl\\bin;
C:\\cmake-3.22.1;
C:\\Program Files\\ImageMagick-7.1.0-Q16-HDRI;
C:\\Program Files\\CodeBlocks\\MinGW\\bin;
-------------- Build: Debug in RGL (compiler: GNU GCC Compiler)---------------
g++.exe -L..\SFML\2.5.1\lib -LC:\SFML\2.4.2\lib -LC:\RGL\lib -LC:\SFML\2.5.1\lib -o bin\Debug\RGL.exe obj\Debug\main.o obj\Debug\src\appwindow.o obj\Debug\src\rgl.o obj\Debug\src\rgl\audio.o obj\Debug\src\rgl\input.o -lsfml-graphics -lsmfl-window -lsfml-audio -lsfml-system -lsfml-audio -lsfml-graphics -lsfml-window -lsfml-system C:\SFML\2.5.1\lib\libsfml-audio-s.a C:\SFML\2.5.1\lib\libsfml-window-s.a C:\SFML\2.5.1\lib\libsfml-audio-s.a C:\SFML\2.5.1\lib\libsfml-system-s.a
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib/libsfml-graphics.a when searching for -lsfml-graphics
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib\libsfml-graphics.a when searching for -lsfml-graphics
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib/libsfml-graphics.a when searching for -lsfml-graphics
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib\libsfml-graphics.a when searching for -lsfml-graphics
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib/libsfml-graphics.a when searching for -lsfml-graphics
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib/libsfml-graphics.a when searching for -lsfml-graphics
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lsfml-graphics
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lsmfl-window
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib/libsfml-audio.a when searching for -lsfml-audio
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib\libsfml-audio.a when searching for -lsfml-audio
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib/libsfml-audio.a when searching for -lsfml-audio
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib\libsfml-audio.a when searching for -lsfml-audio
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib/libsfml-audio.a when searching for -lsfml-audio
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib/libsfml-audio.a when searching for -lsfml-audio
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lsfml-audio
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib/libsfml-system.a when searching for -lsfml-system
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib\libsfml-system.a when searching for -lsfml-system
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib/libsfml-system.a when searching for -lsfml-system
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib\libsfml-system.a when searching for -lsfml-system
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib/libsfml-system.a when searching for -lsfml-system
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib/libsfml-system.a when searching for -lsfml-system
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lsfml-system
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib/libsfml-audio.a when searching for -lsfml-audio
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib\libsfml-audio.a when searching for -lsfml-audio
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib/libsfml-audio.a when searching for -lsfml-audio
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib\libsfml-audio.a when searching for -lsfml-audio
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib/libsfml-audio.a when searching for -lsfml-audio
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib/libsfml-audio.a when searching for -lsfml-audio
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lsfml-audio
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib/libsfml-graphics.a when searching for -lsfml-graphics
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib\libsfml-graphics.a when searching for -lsfml-graphics
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib/libsfml-graphics.a when searching for -lsfml-graphics
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib\libsfml-graphics.a when searching for -lsfml-graphics
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib/libsfml-graphics.a when searching for -lsfml-graphics
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib/libsfml-graphics.a when searching for -lsfml-graphics
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lsfml-graphics
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib/libsfml-window.a when searching for -lsfml-window
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib\libsfml-window.a when searching for -lsfml-window
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib/libsfml-window.a when searching for -lsfml-window
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib\libsfml-window.a when searching for -lsfml-window
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib/libsfml-window.a when searching for -lsfml-window
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib/libsfml-window.a when searching for -lsfml-window
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lsfml-window
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib/libsfml-system.a when searching for -lsfml-system
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib\libsfml-system.a when searching for -lsfml-system
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib/libsfml-system.a when searching for -lsfml-system
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib\libsfml-system.a when searching for -lsfml-system
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible ..\SFML\2.5.1\lib/libsfml-system.a when searching for -lsfml-system
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:\SFML\2.5.1\lib/libsfml-system.a when searching for -lsfml-system
C:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lsfml-system
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 0 second(s))
9 error(s), 0 warning(s) (0 minute(s), 0 second(s))