Skip to content
tukkek edited this page Sep 8, 2024 · 16 revisions

This stub-page is a list of ideas for Project M's next-generation visualizer. Every-one with a Git Hub account is able and welcome to edit it!

For now, this page will be used to collect and organize pre-liminar ideas instead of pull-requests or proof-of-concept code.

See the read-me file for more information: https://github.com/projectM-visualizer/visualizer-ng-ideas/blob/master/ReadMe.md

Technical discussion

Engine and architecture

  1. While highly successful on its own merits, Project M has not seen wide-spread adoption as an embedded visualizer in music-players (even open-source ones to which anyone could contribute the integration). Clementine and Straw Berry are two players that have struggled to maintain support for Project M [1] [2]. The stand-alone Steam version is very out-dated [3]. A next-generation Project M should strive to excel where the current project has failed, as integration with popular audio players is the best way to promote the world-class work of any Project M's developers and visualization-artists.
  2. Interactive elements would be an interesting novel feature not seen previously in Project M or Milk Drop. With Java Script, Python and Lua being ubiquitously used as integrated scripting languages, the possibility of turning Project M as a base for creative developers to work from could be an interesting feature to consider. The possibilities range anywhere from live-interactions; mini-games; streaming; to art-exhibits...
  3. Project M is currently written in C++. Rust is the world's most-admired language today [4] and its creator described it as a C++ alternative [5]. As such, it seems that any next-generation of an older C++ project should include a due-diligence discussion and analysis of Rust as its potential new language. Since Rust is both a high-quality and an extremely popular language, it could also help in attracting more programmers to collaborate with development.

[1]: Clementine: Visualizations missing or broken https://github.com/clementine-player/Clementine/issues/7151

[2]: Straw-berry: Reintegrate Project M https://forum.strawberrymusicplayer.org/topic/1286/reintegrate-projectm-visualizer

[3]: Discord message https://discord.com/channels/737206408482914387/737206408948220057/1280712455965642752

[4] 2023 Developer Survey: Programming, scripting, and markup languages https://survey.stackoverflow.co/2023/#section-admired-and-desired-programming-scripting-and-markup-languages.

[5]: Rust: Syntax and features https://en.wikipedia.org/wiki/Rust_(programming_language)#Syntax_and_features

Audio analysis

(Currently empty).

User interface

(Currently empty).

Creative discussion

Visuals and aesthetic

(Currently empty).

Clone this wiki locally