DeflatedPickle / FAOSDance

A stand-alone, free and open-source implementation of the Fruity Dance plugin from FL Studio

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FAOSDance GitHub Last Commit Build Status Maintainability

A stand-alone, free and open-source and extendable implementation of the Fruity Dance plugin from FL Studio.

Table Of Contents

Notice: As of v0.33.8-alpha, FAOSDance has an auto-updater. It'll handle downloading new versions for you.

Downloads
Latest GitHub Releases (by Release)
GitHub Releases (by Release)
GitHub Releases (by Release)
GitHub Releases (by Release)
GitHub Releases (by Release)
GitHub Releases (by Release)
GitHub Releases (by Release)
GitHub Releases (by Release)
GitHub Releases (by Release)

Comparison With Fruity Dance

Fruity Dance (Official Plugin for FL Studio) FAOSDance (This Program)
Interface FruityDance FAOSDance
Pros Ships with a top of the Image line DAW Free, stand-alone and more customizable, has a config file, completely scriptable
Cons Requires owning (paid or trial) and running FL Studio Cons Coming Soon
Not sold yet? How about now?

FAOSDance At Its Best

This is with the following extensions; Auto Action, Blend, Colour Overlay (rainbow), Filter (blur) and Shake


Basic Usage

Setting Up

  • Download the JAR from the latest release
  • Download the FL-Chan (or similar) sprite sheet and text file (can be found in the FL Studio files, or you can download a big version)
  • Run the program
    • Click the big "Open" button
      • Locate the FL-Chan (or similar) sprite sheet and text file
        • Double-click either one, or click it and then click "Open"

Running On Start-Up

If you want to run the program on start-up, you can using a couple scripts. These will find the latest version of the program in a directory and run it. It's a good idea to add a config, so it starts up without a prompt window.

  • Download the files in the scripts folder
    • Place FAOSDance.ps1 in the same directory as you put FAOSDance.jar in
    • Place FAOSDance.bat in C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
  • Open FAOSDance.bat and change ./FAOSDance.ps1 to the full path of where you put FAOSDance.ps1

Using The Config

The easiest way to use the config is to change your settings in the UI and then click the "Save Configuration" button. But if you want to edit the raw config as text, or share it, find your data directory using Finding Your App Data Directory, then open the "config.toml" file.

Config Options

Option Description
sprite.sheet (String) The path to the sprite sheet name to use, without any extensions
sprite.action (String) The action to start play through
sprite.fps (Integer) The amount of delay between each frame
sprite.opacity (Double) The opacity of the sprite
sprite.visible (Boolean) Whether or not the sprite is visible
sprite.solid (Boolean) Whether or not the sprite can be clicked and dragged
sprite.always_on_top (Boolean) Whether or not the program stays above other windows
sprite.scaling_type (Enum) The kind of scaling used for the sprite
animation.play (Boolean) Whether or not the animation is playing
animation.rewind (Boolean) Whether or not the animation is playing backwards
animation.frame (Integer) The current frame of animation
location.x (Integer) The location of the window along the X axis
location.y (Integer) The location of the window along the Y axis
rotation.z (Integer) The rotation of the sprite
size.width (Double) The width of the sprite
size.height (Double) The height of the sprite
reflection.visible (Boolean) Whether or not the reflection is visible
reflection.padding (Double) The amount of padding (centered) between the sprite and the reflection
reflection.fade.height (Double) The amount of the reflection hidden, from the bottom up
reflection.fade.opacity (Double) The opacity of the reflection
extensions.enabled (List (String)) A list of extension names to be enabled

Config Examples

[sprite]
sheet="path/to/file/without/extensions"
action="Zitabata"
fps=26

[size]
width=1.0
height=1.0

[reflection]
visible=false
[sprite]
sheet="path/to/file/without/extensions"
action="Held"
opacity=0.94

[size]
width=1.0
height=1.0

[reflection]
visible=false

[extensions]
enabled=["Spin"]

Extending The Program

The program can be extended with scripts written in the Ruby language. The scripts can be found in the settings UI under their own tab, where information and settings for each script can be found.

Using Scripts

Warning: Scripts can run any arbitrary code, always check scripts before using them!

To add new scripts, you'll need to follow Finding Your App Data Directory, then put the scripts in the "scripts" directory.

Writing Scripts

To begin writing scripts, you should probably have a basic understanding of the Ruby language, Swing (specifically the Graphics2D class) and object-oriented programming.

Beyond that, here are some general steps to set up a script:

  • Make a new file in the scripts directory
  • Open it in a text editor or IDE
  • Make a new class that extends DanceExtension
  • Add an initialize method and call super with the name, description and author of your script
  • Override the enable and disable methods to add logic to get/reset the script values when the script is enabled/disabled
  • If you want settings, override the settings method and add your widgets
  • Pick your entry point/s
    • Override the methods for them
      • Implement your logic
  • Use FAOSDance.registerExtension to register a new instance of your class

If you get stuck, there are some example scripts here.

Finding Your App Data Directory

Windows

The easiest way to find this directory by typing "%APPDATA%" into the File Manager or search bar.

Linux

GUI (Nautilus and forks)

First, open your file manager if it isn't already, then show hidden files from the View menu. Then go to home, and .config.

Terminal

First, fire up your terminal if it isn't already, then type; "cd ~/.config". If your terminal doesn't support tilde notation, then type this instead; "cd $HOME/.config".

About

A stand-alone, free and open-source implementation of the Fruity Dance plugin from FL Studio

License:MIT License


Languages

Language:Kotlin 72.1%Language:Ruby 18.4%Language:Java 9.3%Language:PowerShell 0.1%Language:Batchfile 0.0%