mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 09:17:35 +00:00
Refactor: Replace usages of FixedArray with Array.
This commit is contained in:
parent
76e37e8c96
commit
9c83d6ff46
8 changed files with 52 additions and 54 deletions
|
@ -28,7 +28,6 @@
|
|||
#pragma once
|
||||
|
||||
#include "Music.h"
|
||||
#include <AK/FixedArray.h>
|
||||
#include <AK/Noncopyable.h>
|
||||
#include <AK/SinglyLinkedList.h>
|
||||
#include <LibAudio/Buffer.h>
|
||||
|
|
|
@ -36,7 +36,7 @@ TrackManager::~TrackManager()
|
|||
{
|
||||
}
|
||||
|
||||
void TrackManager::fill_buffer(FixedArray<Sample>& buffer)
|
||||
void TrackManager::fill_buffer(Span<Sample> buffer)
|
||||
{
|
||||
memset(buffer.data(), 0, buffer_size);
|
||||
|
||||
|
@ -51,8 +51,8 @@ void TrackManager::fill_buffer(FixedArray<Sample>& buffer)
|
|||
}
|
||||
}
|
||||
|
||||
memcpy(m_back_buffer_ptr->data(), buffer.data(), buffer_size);
|
||||
swap(m_front_buffer_ptr, m_back_buffer_ptr);
|
||||
memcpy(m_current_back_buffer.data(), buffer.data(), buffer_size);
|
||||
swap(m_current_front_buffer, m_current_back_buffer);
|
||||
}
|
||||
|
||||
void TrackManager::reset()
|
||||
|
@ -60,8 +60,8 @@ void TrackManager::reset()
|
|||
memset(m_front_buffer.data(), 0, buffer_size);
|
||||
memset(m_back_buffer.data(), 0, buffer_size);
|
||||
|
||||
m_front_buffer_ptr = &m_front_buffer;
|
||||
m_back_buffer_ptr = &m_back_buffer;
|
||||
m_current_front_buffer = m_front_buffer.span();
|
||||
m_current_back_buffer = m_back_buffer.span();
|
||||
|
||||
m_time = 0;
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
#include "Music.h"
|
||||
#include "Track.h"
|
||||
#include <AK/Array.h>
|
||||
#include <AK/Noncopyable.h>
|
||||
#include <AK/NonnullOwnPtr.h>
|
||||
#include <AK/Vector.h>
|
||||
|
@ -42,12 +43,12 @@ public:
|
|||
~TrackManager();
|
||||
|
||||
Track& current_track() { return *m_tracks[m_current_track]; }
|
||||
const FixedArray<Sample>& buffer() const { return *m_front_buffer_ptr; }
|
||||
Span<const Sample> buffer() const { return m_current_front_buffer; }
|
||||
int octave() const { return m_octave; }
|
||||
int octave_base() const { return (m_octave - octave_min) * 12; }
|
||||
int time() const { return m_time; }
|
||||
|
||||
void fill_buffer(FixedArray<Sample>& buffer);
|
||||
void fill_buffer(Span<Sample>);
|
||||
void reset();
|
||||
void set_should_loop(bool b) { m_should_loop = b; }
|
||||
void set_note_current_octave(int note, Switch);
|
||||
|
@ -60,10 +61,10 @@ private:
|
|||
Vector<NonnullOwnPtr<Track>> m_tracks;
|
||||
size_t m_current_track { 0 };
|
||||
|
||||
FixedArray<Sample> m_front_buffer { sample_count };
|
||||
FixedArray<Sample> m_back_buffer { sample_count };
|
||||
FixedArray<Sample>* m_front_buffer_ptr { &m_front_buffer };
|
||||
FixedArray<Sample>* m_back_buffer_ptr { &m_back_buffer };
|
||||
Array<Sample, sample_count> m_front_buffer;
|
||||
Array<Sample, sample_count> m_back_buffer;
|
||||
Span<Sample> m_current_front_buffer { m_front_buffer.span() };
|
||||
Span<Sample> m_current_back_buffer { m_back_buffer.span() };
|
||||
|
||||
int m_octave { 4 };
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
#include "MainWidget.h"
|
||||
#include "TrackManager.h"
|
||||
#include <AK/Array.h>
|
||||
#include <LibAudio/ClientConnection.h>
|
||||
#include <LibAudio/WavWriter.h>
|
||||
#include <LibCore/EventLoop.h>
|
||||
|
@ -69,7 +70,7 @@ int main(int argc, char** argv)
|
|||
return 1;
|
||||
}
|
||||
|
||||
FixedArray<Sample> buffer(sample_count);
|
||||
Array<Sample, sample_count> buffer;
|
||||
for (;;) {
|
||||
track_manager.fill_buffer(buffer);
|
||||
audio->write(reinterpret_cast<u8*>(buffer.data()), buffer_size);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue