mirror of
https://github.com/projectM-visualizer/projectm.git
synced 2025-10-29 19:32:24 +00:00
First few empty pages, standalone app config docs added.
parent
8b052bbebf
commit
2b34a5ce47
30
Home.md
30
Home.md
@ -1,8 +1,35 @@
|
||||
Welcome to the projectm wiki!
|
||||
[](https://travis-ci.org/projectM-visualizer/projectm)
|
||||
|
||||

|
||||
|
||||
## projectM Wiki
|
||||
|
||||
Welcome to the projectM documentation Wiki!
|
||||
|
||||
Here you'll find important resources about both using and developing for and with projectM.
|
||||
|
||||
The Wiki is organized into three main sections:
|
||||
|
||||
- For projectM users, anyone using the official projectM applications released on different platforms.
|
||||
- For developers using/integrating projectM in their applications.
|
||||
- For developers interested in supporting projectM's core development.
|
||||
|
||||
## projectM user manuals
|
||||
|
||||
If you're using one of the "official" projectM applications maintained by this project, you can find documentation for
|
||||
those applications on the following pages. If you're unsure whether your application is actually affiliated with us,
|
||||
please check the [applications list](projectm-applications) first. Only those listed as "provided by the projectM
|
||||
team" are covered here and can be supported by the maintainers. For all other applications, please refer to their
|
||||
respective project pages or contact their authors directly for support inquiries.
|
||||
|
||||
- [Standalone and Steam applications](user-manual-standalone)
|
||||
- [EyeTune (Windows Store)](user-manual-eyetune)
|
||||
- [Music.app Plug-In](user-manual-musicapp)
|
||||
|
||||
Quick access to the hotkeys:
|
||||
|
||||
# Keyboard Controls:
|
||||
|
||||
* Up: Increase beat sensitivity (max 5)
|
||||
* Down: Decrease beat sensitivity (min 0)
|
||||
* Y: Toggle shuffle enabled
|
||||
@ -22,6 +49,7 @@ Quick access to the hotkeys:
|
||||
* F5: Show FPS (if supported)
|
||||
|
||||
#### Only ProjectM SDL:
|
||||
|
||||
* Cmd/Ctrl-Q: *q*uit
|
||||
* Cmd/Ctrl-I: select next audio *i*nput device
|
||||
* Cmd/Ctrl-S: *s*tretch monitors
|
||||
|
||||
16
files/config.inp
Normal file
16
files/config.inp
Normal file
@ -0,0 +1,16 @@
|
||||
Aspect Correction = 1
|
||||
FPS = 60
|
||||
Hard Cut Sensitivity = 1
|
||||
Menu Font = /PATH/TO/PROJECTM/fonts/VeraMono.ttf
|
||||
Mesh X = 192
|
||||
Mesh Y = 144
|
||||
Preset Duration = 60
|
||||
Preset Path = /PATH/TO/PROJECTM/presets
|
||||
Shuffle Enabled = 0
|
||||
Smooth Preset Duration = 40
|
||||
Smooth Transition Duration = 3
|
||||
Soft Cut Ratings Enabled = 0
|
||||
Texture Size = 1024
|
||||
Title Font = /PATH/TO/PROJECTM/fonts/Vera.ttf
|
||||
Window Height = 800
|
||||
Window Width = 800
|
||||
BIN
images/logo.png
Normal file
BIN
images/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
54
projectm-applications.md
Normal file
54
projectm-applications.md
Normal file
@ -0,0 +1,54 @@
|
||||
# Applications using projectM
|
||||
|
||||
This page contains a (non-exhaustive) list of applications either directly being developed by the core projectM team or
|
||||
provided by third-party developers.
|
||||
|
||||
**Important:** Please note that the core projectM developers can only provide support for applications that are part of
|
||||
the main project. We cannot give you any advice or technical support for third-party apps.
|
||||
|
||||
## Applications provided by the projectM team
|
||||
|
||||
These applications are developed by the core projectM team as open-source projects and supported via the gitHub project
|
||||
pages:
|
||||
|
||||
- [Standalone Application](https://github.com/projectM-visualizer/projectm/releases)
|
||||
Available for Windows, macOS and Linux. Requires the latest
|
||||
[Microsoft Visual C++ redistributable package](https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist)
|
||||
to run on Windows.
|
||||
- [Steam Release](https://store.steampowered.com/app/1358800/projectM_Music_Visualizer/)
|
||||
Available for Windows, macOS and Linux. It's free and doesn't require Steam to be running. This app is basically the
|
||||
same as the standalone version.
|
||||
- [Standalone Qt Application](https://github.com/projectM-visualizer/projectm/releases)
|
||||
An alternative user interface built with Qt that has a preset playlist manager, preset rating support and a
|
||||
configuration dialog. Currently only works on Linux using PulseAudio for retrieving audio data.
|
||||
- [EyeTune](https://www.microsoft.com/store/apps/9NDCVH0VCWJN) - For Xbox, Windows tablets and mobile devices, also
|
||||
works on desktops. Due to UWP limitations, this app doesn't allow to add/change presets and only supports microphone
|
||||
audio recording.
|
||||
- [Music.app Plugin](https://github.com/projectM-visualizer/projectm/releases/)
|
||||
A visualization plug-in for the macOS Music app.
|
||||
|
||||
## Applications by third-party developers
|
||||
|
||||
This is a list of applications, players and plug-ins using projectM for visualizing audio content, either as a
|
||||
standalone visualizer or part of a larger application. All these sources are maintained by people not (directly)
|
||||
involved in projectM core development and some of these apps might even be closed source or commercial products.
|
||||
|
||||
- [Brew](https://formulae.brew.sh/formula/projectm)
|
||||
Homebrew package for macOS. Contains the standalone version above. Also comes with the development files.
|
||||
- [Android Standalone App](https://play.google.com/store/apps/details?id=com.psperl.prjM)
|
||||
Available in the Google Play Store, this app can visualize audio played on most modern Android devices. It is
|
||||
available as an ad-supported free version, an ad-free paid versions and there is a
|
||||
special [Android TV app](https://play.google.com/store/apps/details?id=com.psperl.projectMTV) as well. The apps are
|
||||
being developed and published by one of the original projectM authors, Peter Sperl.
|
||||
- [VLC Media Player](https://www.videolan.org/vlc/)
|
||||
Open-source media player for many formats and devices. Uses projectM as a visualization plug-in (not included on all
|
||||
platforms though).
|
||||
- [Kodi](https://kodi.tv/)
|
||||
On most platforms, Kodi comes with a projectM plug-in in the official add-on repository.
|
||||
- [Silverjuke](https://www.silverjuke.net/)
|
||||
An open-source jukebox application that uses projectM for added visual appeal, but hasn't seen much activity in the
|
||||
last years.
|
||||
- [Clementine Music Player](https://www.clementine-player.org/)
|
||||
Qt-based cross-platform music player inspired by Amarok 1.4 using projectM to visualize played audio.
|
||||
|
||||
If you know of any other application using projectM that's missing in the list, feel free to add it.
|
||||
0
users/user-manual-eyetune.md
Normal file
0
users/user-manual-eyetune.md
Normal file
0
users/user-manual-musicapp.md
Normal file
0
users/user-manual-musicapp.md
Normal file
300
users/user-manual-standalone.md
Normal file
300
users/user-manual-standalone.md
Normal file
@ -0,0 +1,300 @@
|
||||
# projectM user manual for standalone applications
|
||||
|
||||
This manual covers the following standalone applications developed by the projectM core team:
|
||||
|
||||
- The SDL-based, UI-less application available on the GitHub releases page.
|
||||
- The Steam version of projectM, which is identical to the above.
|
||||
- The Qt-based frontend for Linux.
|
||||
|
||||
## Installing
|
||||
|
||||
### Steam
|
||||
|
||||
To install the Steam version, simply add
|
||||
the [app](https://store.steampowered.com/app/1358800/projectM_Music_Visualizer/) to your Steam account and install/run
|
||||
it. Editing the configuration is identical to the other releases.
|
||||
|
||||
### Windows Standalone
|
||||
|
||||
Download the latest available release ZIP (e.g. `projectM-sdl-x64-win.zip`) from the projectM
|
||||
[Releases page](https://github.com/projectM-visualizer/projectm/releases). Unpack the archive somewhere and
|
||||
run `projectMSDL.exe` from the main directory.
|
||||
|
||||
### macOS Standalone
|
||||
|
||||
Download the latest available installer PKG (e.g. `projectM-macOS.pkg`) from the projectM
|
||||
[Releases page](https://github.com/projectM-visualizer/projectm/releases). Run it in Finder to install projectM on your
|
||||
Mac.
|
||||
|
||||
Note: Future releases will use DMG files and the more convenient drag and drop installation.
|
||||
|
||||
### Linux Standalone
|
||||
|
||||
Currently, projectM does not provide a binary Linux version on the Releases page due to the heterogeneous Linux
|
||||
environment. You can either look in your distribution's package manager if there is a projectM package available for
|
||||
installation or try to [compile it yourself](https://github.com/projectM-visualizer/projectm/blob/master/BUILDING.md).
|
||||
|
||||
The projectM team is currently evaluating options to provide a binary version that works on most recent Linux (x86_64)
|
||||
variants.
|
||||
|
||||
### Linux Qt UI
|
||||
|
||||
The Qt UI might also be available in your distribution package manager, but as it is an optional component, you'll
|
||||
mostly be out of luck. If you want to give it a try, you'll need
|
||||
to [compile it yourself](https://github.com/projectM-visualizer/projectm/blob/master/BUILDING.md).
|
||||
|
||||
The projectM team is working on bringing this UI to other platforms as well as providing ready-to-use releases.
|
||||
|
||||
## Configuring projectM
|
||||
|
||||
The Qt UI comes with a configuration dialog that lets you edit and save the projectM configuration. While this is the
|
||||
easiest way, this application is probably not available to you. For all other releases, you need to change the
|
||||
configuration file.
|
||||
|
||||
**Important note:** Be aware that the projectM applications will overwrite the file and during this process remove any
|
||||
comments and emtpy lines from the file. If you want to switch between different settings, it's better to keep multiple
|
||||
copies of the file and replace the `config.inp` file before starting projectM.
|
||||
|
||||
### Windows
|
||||
|
||||
On Windows, you will find projectM's configuration file ` config.inp` in the following locations:
|
||||
|
||||
- Past/current releases (up to 3.x): `%USERDIR%\.projectM\ `
|
||||
- Future releases (4.0+): `%APPDATA%\projectM\ `
|
||||
|
||||
Chances are high neither the directory nor the `config.inp` file exist. In this case, create the directory and
|
||||
copy [this template](/files/config.inp) into it.
|
||||
|
||||
### Linux and macOS
|
||||
|
||||
On Linux and macOS, the configuration file will be located in each user's home directory in a hidden
|
||||
directory `~/.projectM`. If this directory doesn't exist, you can create it with your favorite file manager or using the
|
||||
following terminal command:
|
||||
|
||||
```shell
|
||||
mkdir ~/.projectM
|
||||
```
|
||||
|
||||
If the configuration file is not already there, you can download and copy [this template](/files/config.inp) into it.
|
||||
|
||||
### Configuration reference
|
||||
|
||||
The configuration file uses a very simple "Name = Value" syntax. Most parameter names contain spaces, so this is the
|
||||
valid syntax:
|
||||
|
||||
```
|
||||
Preset Path = /usr/share/projectM/presets
|
||||
```
|
||||
|
||||
Comments can be placed in separate lines or after any setting using the hash `#` character:
|
||||
|
||||
```
|
||||
Mesh X = 244 # Per-pixel mesh horizontal resolution
|
||||
# Another comment
|
||||
```
|
||||
|
||||
If "Value" says "Boolean", a (case-insensitive) value of `0`, `N`, `NO`, `F`, `FALSE` or `NONE` is interpreted as "not
|
||||
set" or "disabled". Any other value, _including an empty value_, is considered as "set" or "enabled".
|
||||
|
||||
#### Aspect Correction
|
||||
|
||||
**Value:** Boolean
|
||||
**Default:** True
|
||||
**Example:** `Aspect Correction = yes`
|
||||
|
||||
Enabled aspect correction in presets that support it. This is generally used to make shapes not appear stretched, e.g.
|
||||
circles or squares not being squished in one direction.
|
||||
|
||||
#### Beat Sensitivity
|
||||
|
||||
**Value:** Any decimal number >= 0.0
|
||||
**Default:** 1.0
|
||||
**Example:** `Beat Sensitivity = 0.8`
|
||||
|
||||
#### Easter Egg Parameter
|
||||
|
||||
**Value:** Any decimal number >= 0.0
|
||||
**Default:** 0.0
|
||||
**Example:** `Easter Egg Parameter = 1`
|
||||
|
||||
Being the most mystic and opaque parameter in projectM, this value will be fed as "sigma" or "standard deviation" value
|
||||
into a gaussian-distributed random number generator that determines (and randomizes) the actual display time of a preset
|
||||
between 1 and 60 seconds. The "mean" value of the function is the `Preset Duration` documented below.
|
||||
|
||||
If in doubt, leave it at 0.
|
||||
|
||||
To put it in simple words: If the easter egg parameter is 0.0, the random number generator will always return the value
|
||||
preset duration. For any higher value, it flattens the distribution curve, so the actual duration will always be less
|
||||
than the set duration.
|
||||
|
||||
If interested, you can read more about
|
||||
[Normal Distribution on Wikipedia](https://en.wikipedia.org/wiki/Normal_distribution).
|
||||
|
||||
#### FPS
|
||||
|
||||
**Value:** Any integer number >= 1
|
||||
**Default:** 35
|
||||
**Example:** `FPS = 60`
|
||||
|
||||
Sets the target/maximum FPS value projectM should render at. The real FPS may be lower, either because rendering isn't
|
||||
fast enough to reach the requested framerate or due to vertical syncing.
|
||||
|
||||
#### Fullscreen
|
||||
|
||||
**Value:** Boolean
|
||||
**Default:** False
|
||||
**Example:** `Fullscreen = yes`
|
||||
|
||||
If true, the application will start in fullscreen mode. If false, it is displayed as a resizable window.
|
||||
|
||||
This setting might have no effect if the OS or application doesn't support either windowed or fullscreen modes.
|
||||
|
||||
#### Hard Cuts Enabled
|
||||
|
||||
**Value:** Boolean
|
||||
**Default:** False
|
||||
**Example:** `Hard Cuts Enabled = yes`
|
||||
|
||||
A hard cut is a beat-induced immediate transition to the next preset that might happen before the preset display
|
||||
duration is reached. Also see `Hard Cut Duration` and `Hard Cut Sensitivity`to fine-tune the behaviour.
|
||||
|
||||
#### Hard Cut Duration
|
||||
|
||||
**Value:** Any decimal number >= 0.0
|
||||
**Default:** 60.0
|
||||
**Example:** `Hard Cut Duration = 10.5`
|
||||
|
||||
Minimum number of seconds before a "hard cut" is performed. Only used if hard cuts are enabled.
|
||||
|
||||
#### Hard Cut Sensitivity
|
||||
|
||||
**Value:** Any decimal number >= 0.0
|
||||
**Default:** 1.0
|
||||
**Example:** `Hard Cut Sensitivity = 0.8`
|
||||
|
||||
Beat sensitivity value to perform a "hard cut". It will be performed only after the number of seconds set
|
||||
in `Hard Cut Duration` have passed. Only used if hard cuts are enabled.
|
||||
|
||||
#### Menu Font
|
||||
|
||||
**Value:** Path to a TTF file
|
||||
**Default:** OS-dependent path, VeraMono.ttf
|
||||
**Example:** `Menu Font = /usr/share/projectM/fonts/VeraMono.ttf`
|
||||
|
||||
TrueType font used for rendering the built-in on-screen menu.
|
||||
|
||||
Menu rendering with custom fonts is currently not implemented in projectM. The setting is ignored.
|
||||
|
||||
#### Mesh X
|
||||
|
||||
**Value:** Any integer number >= 1
|
||||
**Default:** 32
|
||||
**Example:** `Mesh X = 192`
|
||||
|
||||
Horizontal resolution of the per-pixel equation drawing grid.
|
||||
|
||||
This grid basically splits the rendering area into this number of columns and each grid field is then calculated and
|
||||
drawn individually. Setting the value too high will drastically decrease rendering performance.
|
||||
|
||||
This setting does _not_ affect the actual rendering resolution.
|
||||
|
||||
#### Mesh Y
|
||||
|
||||
**Value:** Any integer number >= 1
|
||||
**Default:** 24
|
||||
**Example:** `Mesh X = 144`
|
||||
|
||||
Vertical resolution of the per-pixel equation drawing grid.
|
||||
|
||||
This grid basically splits the rendering area into this number of rows and each grid field is then calculated and drawn
|
||||
individually. Setting the value too high will drastically decrease rendering performance.
|
||||
|
||||
This setting does _not_ affect the actual rendering resolution.
|
||||
|
||||
#### Preset Duration
|
||||
|
||||
**Value:** Any decimal number >= 1.0
|
||||
**Default:** 15.0
|
||||
**Example:** `Preset Duration = 60.0`
|
||||
|
||||
The time in seconds a presets should be displayed before switching automatically to the next in the playlist.
|
||||
|
||||
In the current version, the maximum display time is 60 seconds, no matter how high this value is set to. This might
|
||||
change in future releases, removing the upper limit.
|
||||
|
||||
#### Preset Path
|
||||
|
||||
**Value:** Path to the projectM presets
|
||||
**Default:** OS-dependent path, `/usr/local/share/projectM/presets` on most Linux installations.
|
||||
**Example:** `Preset Path = C:\Users\Administrator\Documents\projectM Presets`
|
||||
|
||||
The given path is scanned recursively for both presets and textures.
|
||||
|
||||
Having too many files under this path will increase startup time. Also make sure not to place too many or large images
|
||||
under this path as projectM currently loads all images into memory on startup, which can consume large amounts of memory
|
||||
in addition to long load times.
|
||||
|
||||
#### Shuffle Enabled
|
||||
|
||||
**Value:** Boolean
|
||||
**Default:** True
|
||||
**Example:** `Shuffle Enabled = NO`
|
||||
|
||||
If set to a true value, projectM will choose the next preset randomly from the playlist instead of skipping to the next
|
||||
item in the list.
|
||||
|
||||
#### Smooth Preset Duration
|
||||
|
||||
**Value:** Any decimal number >= 1.0
|
||||
**Default:** 10.0
|
||||
**Example:** `Smooth Preset Duration = 0.5`
|
||||
|
||||
Time it takes to smoothly blend between two presets on soft cuts.
|
||||
|
||||
**Note:** Was named `Smooth Transition Duration` in earlier versions.
|
||||
|
||||
#### Soft Cut Ratings Enabled
|
||||
|
||||
**Value:** Boolean
|
||||
**Default:** False
|
||||
**Example:** `Soft Cut Ratings Enabled = 1`
|
||||
|
||||
If enabled and shuffle is on, preset ratings are used to prefer highly rated presets and display low rated presets ledd
|
||||
frequently. Only has an effect if the integrating application supports preset ratings.
|
||||
|
||||
#### Texture Size
|
||||
|
||||
**Value:** Any integer number >= 1 and a power of 2
|
||||
**Default:** 512
|
||||
**Example:** `Texture Size = 2048`
|
||||
|
||||
The size of the internal texture projectM renders to.
|
||||
|
||||
**Note:** This setting is currently not used as projectM currently renders directly into the current OpenGL window,
|
||||
using the window size.
|
||||
|
||||
#### Title Font
|
||||
|
||||
**Value:** Path to a TTF file
|
||||
**Default:** OS-dependent path, Vera.ttf
|
||||
**Example:** `Menu Font = /usr/share/projectM/fonts/Vera.ttf`
|
||||
|
||||
TrueType font used for rendering the song title on screen.
|
||||
|
||||
Title rendering is currently not implemented in projectM. The setting is ignored.
|
||||
|
||||
#### Window Height
|
||||
|
||||
**Value:** Any integer number >= 1
|
||||
**Default:** 512
|
||||
**Example:** `Window Height = 1080`
|
||||
|
||||
Initial height of the projectM window, including title bar and borders.
|
||||
|
||||
#### Window Width
|
||||
|
||||
**Value:** Any integer number >= 1
|
||||
**Default:** 512
|
||||
**Example:** `Window Width = 1920`
|
||||
|
||||
Initial width of the projectM window, including borders.
|
||||
Loading…
x
Reference in New Issue
Block a user