Skip to content

xxxDSSxxx/FamiStudio

 
 

Repository files navigation

Welcome to the FamiStudio GitHub page

This is the GitHub page of FamiStudio, which is intended for people wanting to view/download the source code or report bug fixes.

If you are simply interested in installing FamiStudio, please visit the brand new famistudio.org or itch.io.

For any questions, you can reach me at famistudio@outlook.com.

Compiled versions

All releases are available in the Releases section. If you are on Windows, simply download and run the .MSI installer and a shortcut to FamiStudio will be placed in your Start menu.

Compiling

FamiStudio is composed of a few projects:

  • The main FamiStudio application is written in C#.
  • NesSndEmu & NotSoFatso are C++ DLLs and are provided as binaries since they rarely change.
  • The Setup project (Windows only)

Windows

On Windows, Visual Studio 2017 is used for development. The project contains everything, including both DLLs and the Setup project. In you plan to recompile the C++ DLLs, you will need to install C++ support in Visual Studio. The Setup project is built using the "Microsoft Visual Studio Installer Projects" extension which can be installed from Visual Studio in the "Extensions and Updates" menu.

The C# application is built on top of SharpDX 4.2.0 on Windows and OpenTK on Mac/Linux. Visual Studio will install the required packages automatically when building the project. To manually fetch the packages, run msbuild /t:Restore on the project from the Visual Studio Developer Command Prompt.

MacOS

On MacOS, Visual Studio 2019 for Mac is used to compile the main application. The 2 C++ DLLs can be compiled using a little shell script "build_macos.sh" that is located in the each of the folders. No fancy makefile here. PortAudio and RtMidi, which are used for audio output and MIDI input respectively have been pre-compiled using Homebrew and are likely not going to change often. The Application bundle is updated manually at each release.

Linux.

On Linux, MonoDevelop 7.8.4 (build 2) is used to compile the main application. Much like MacOS, a little shell script, "build_linux.sh" is provided to compile each of the 2 C++ DLLs. No makefile is provided at the moment. OpenAL Soft is provided as a precompiled AMD64 binary with ALSA support, if you recompile your own you will need to replace libopenal32.so or use a dllmap to point FamiStudio to the correct library. Same for RtMidi which is provided as librtmidi.so.

Issues and Contributing

Please open issues contact me if you find bugs or have feature suggestion ideas. You can find me:

Acknowledgments

  • Shiru for the FamiTone2 library and the demo songs that are included (After the Rain and Danger Streets)
  • Blargg for Nes_Snd_Emu and the underlying Blip_Buffer. Also for it's Smooth Vibrato tech.
  • RainWarrior for NSFImport and other tools.
  • Mitsutaka Okazaki For emu2413 and emu2149 which are used for VRC7 and Sunsoft 5B emulation.

About

FamiStudio NES Music Editor

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 66.9%
  • C++ 19.7%
  • Assembly 7.5%
  • C 5.2%
  • Other 0.7%