1
1
#include " PresetSelection.h"
2
2
3
+ #include " AnonymousProFont.h"
3
4
#include " ProjectMWrapper.h"
4
5
#include " SDLRenderingWindow.h"
5
- #include " AnonymousProFont.h"
6
6
7
7
#include " imgui.h"
8
8
#include " imgui_impl_opengl3.h"
@@ -57,7 +57,7 @@ void PresetSelection::UpdateFontSize()
57
57
{
58
58
ImGuiIO& io = ImGui::GetIO ();
59
59
60
- float dpi{96 .0f };// Use default value of 96 DPI if SDL_GetDisplayDPI doesn't return a value!
60
+ float dpi{96 .0f }; // Use default value of 96 DPI if SDL_GetDisplayDPI doesn't return a value!
61
61
auto displayIndex = SDL_GetWindowDisplayIndex (_renderingWindow);
62
62
if (displayIndex < 0 )
63
63
{
@@ -91,10 +91,8 @@ void PresetSelection::UpdateFontSize()
91
91
void PresetSelection::ProcessInput (const SDL_Event& event)
92
92
{
93
93
ImGui_ImplSDL2_ProcessEvent (&event);
94
- unsigned int position;
95
- projectm_get_selected_preset_index (_projectMWrapper->ProjectM (), &position);
96
- _playlistPosition = static_cast <int >(position);
97
- _playlistSize = projectm_get_playlist_size (_projectMWrapper->ProjectM ());
94
+ _playlistPosition = projectm_playlist_get_position (_projectMWrapper->Playlist ());
95
+ _playlistSize = projectm_playlist_size (_projectMWrapper->Playlist ());
98
96
}
99
97
100
98
void PresetSelection::Draw ()
@@ -106,26 +104,24 @@ void PresetSelection::Draw()
106
104
if (_settingsVisible)
107
105
{
108
106
DrawSettingsWindow ();
109
-
110
107
}
111
108
112
- try {
109
+ try
110
+ {
113
111
114
112
if (_fileChooser.Draw ())
115
113
{
116
114
// Preset selected, load & switch.
117
115
std::string presetName = Poco::Path (_fileChooser.SelectedFile ().path ()).getFileName ();
118
116
119
117
int ratingList[2 ]{};
120
- projectm_add_preset_url (_projectMWrapper->ProjectM (),
121
- _fileChooser.SelectedFile ().path ().c_str (),
122
- presetName.c_str (),
123
- &ratingList[0 ], 2 );
124
- projectm_select_preset (_projectMWrapper->ProjectM (), projectm_get_playlist_size (_projectMWrapper->ProjectM ()) - 1 , true );
118
+ projectm_playlist_add_preset (_projectMWrapper->Playlist (),
119
+ _fileChooser.SelectedFile ().path ().c_str (),
120
+ false );
121
+ projectm_playlist_set_position (_projectMWrapper->Playlist (), projectm_playlist_size (_projectMWrapper->Playlist ()) - 1 , true );
125
122
}
126
-
127
123
}
128
- catch (Poco::Exception& ex)
124
+ catch (Poco::Exception& ex)
129
125
{
130
126
poco_error_f1 (_logger, " Exception in file chooser: %s" , ex.message ());
131
127
}
@@ -159,9 +155,9 @@ void PresetSelection::DrawSettingsWindow()
159
155
projectm_set_preset_duration (_projectMWrapper->ProjectM (), _displayDuration);
160
156
}
161
157
162
- if (ImGui::SliderInt (" Playlist Position" , &_playlistPosition, 0 , _playlistSize - 1 ))
158
+ if (ImGui::SliderInt (" Playlist Position" , reinterpret_cast < int *>( &_playlistPosition) , 0 , _playlistSize - 1 ))
163
159
{
164
- projectm_select_preset (_projectMWrapper->ProjectM (), _playlistPosition, true );
160
+ projectm_playlist_set_position (_projectMWrapper->Playlist (), _playlistPosition, true );
165
161
}
166
162
167
163
ImGui::Text (" Application average %.3f ms/frame (%.1f FPS)" , 1000 .0f / ImGui::GetIO ().Framerate , ImGui::GetIO ().Framerate );
@@ -175,14 +171,17 @@ void PresetSelection::DrawSettingsWindow()
175
171
176
172
if (ImGui::Button (" Random Preset" ))
177
173
{
178
- projectm_select_random_preset (_projectMWrapper->ProjectM (), true );
174
+ bool shuffleEnabled = projectm_playlist_get_shuffle (_projectMWrapper->Playlist ());
175
+ projectm_playlist_set_shuffle (_projectMWrapper->Playlist (), true );
176
+ projectm_playlist_play_next (_projectMWrapper->Playlist (), true );
177
+ projectm_playlist_set_shuffle (_projectMWrapper->Playlist (), shuffleEnabled);
179
178
}
180
179
181
180
ImGui::SameLine ();
182
181
183
182
if (ImGui::Button (" Lock Preset" ))
184
183
{
185
- projectm_lock_preset (_projectMWrapper->ProjectM (), !projectm_is_preset_locked (_projectMWrapper->ProjectM ()));
184
+ projectm_set_preset_locked (_projectMWrapper->ProjectM (), !projectm_get_preset_locked (_projectMWrapper->ProjectM ()));
186
185
}
187
186
188
187
ImGui::SameLine ();
@@ -191,7 +190,6 @@ void PresetSelection::DrawSettingsWindow()
191
190
{
192
191
_fileChooser.Show ();
193
192
}
194
-
195
193
}
196
194
ImGui::End ();
197
195
}
0 commit comments