If you want to help, see the ToDo list.
This application was built using the NetBeans platform which can be downloaded from http://netbeans.org/
It uses the JavaAdvancedImaging library for most of the image manipulations. Follow the link for setup/installation details.
If you would like to contribute to this software, please contact the author (GabrielBurca), or fork the project on GitHub and send a pull request.
The Git repository can be accessed at:
- https://github.com/gburca/VirtMus (
git@github.com:gburca/VirtMus.git
)
Development Dependencies
Other git repos
After running git clone
, in the cloned directory run:
git submodule init
git submodule update
Other tools
- For Mac
brew install node
for appdmgnpm install -g appdmg
for building DMG's on Mac OS X- Install Inkscape and add it to your path. This is used to convert SVG -> PNG for the DMG background.
JUnit
In NetBeans (Tools -> Plugins), make sure the JUnit plugin is installed. You'll probably need to restart NetBeans after installing JUnit. This is needed to run the unit tests.
NetBeans
After opening the VirtMus project in NetBeans:
- Run -> Set Main Project -> Virtual Music
- Right click on the "Virtual Music" project then Open Required Projects -> Open All Projects
- Some of the modules come in pairs:
- ICEpdf / ICEpdf-Wrapper
- MavenJARs / MavenJARs-Wrapper
ICEpdf
VirtMus uses ICEpdf to render some of the PDF files. See the
VirtMus/ICEpdf/README.txt
file for more details.
The VirtMus/ICEpdf-Wrapper module builds (and wraps) the VirtMus/ICEpdf code but otherwise VirtMus/ICEpdf is an independent project. When making any change to VirtMus (ex: new JDK platform) make sure the same change is also done to VirtMus/ICEpdf.
Maven Dependencies
Maven dependencies are downloaded by building the VirtMus/MavenJARs module. The MavenJARs-Wrapper pulls those dependencies into VirtMus.
Documentation
If you want to make changes to this documentation, see DocMaintenance, or send your changes/corrections to GabrielBurca.
Installers
On Windows the exe
installer is build by NSIS, which is assumed to be
installed in the default directory.
On Unix/Linux and Mac OS X, the exe
installer is built by makensis
. On OS
X, makensis can be installed with brew install makensis
. Make sure makensis
is in your path.
Release New Version
Update the version string
- Set the version in the following places:
nbproject/project.properties
VirtMus/src/com/ebixio/virtmus/MainApp.java
- Docs: Home.md and ChangeLog.md pages
Installer/VirtMusPortable/App/AppInfo/appinfo.ini
- The
update-version-string
build target takes care of propagating the change to the other locations. - Development versions should have an odd minor version number. Version 4.01 and earlier did not follow this convention.
Other updates
Update the documentation ChangeLog
If needed, change the copyright year range:
- On the splash screen:
branding/core/core.jar/org/netbeans/core/startup/...
- In
Docs/wiki/home.html
andtemplate.html
- On the splash screen:
If needed, update the MacOSX icons. See:
Installer/GenerateMacIcons.sh
Build the installers
Execute the following build targets:
- clean
- create-installers
The installers will be located in the Installer
directory. Typically, a total of 3
files will be generated:
VirtMus-?.??.exe
- Windows installerVirtMus-?.??.dmg
- Mac OS X installerVirtMus-?.??.zip
- A stand-alone distribution (no installer) that can be used on any OS (typically used for Unix/Linux).
Modify the DMG finder icon:
- Right-click on the DMG file
- Select "Get Info"
- Drag the Installer/VirtMus.icns file to the small top-left icon of the Info window.
- Make sure the Preview section shows the new file image.
- Update virtmus.com
- Follow the DocMaintenance wiki page instructions
PortableApps release
To create the PortableApps version for the USB drive:
- Unzip the
Installer/VirtMus-v.vv.zip
intoInstaller/VirtMusPortable/App/VirtMus
- The executable should be in
.../App/VirtMus/bin/virtmus.exe
- The executable should be in
- Run "PortableApps.com Launcher" from PortableApps on USB drive
- Point it to
.../Installer/VirtMusPortable
- This will create
Installer/VirtMusPortable/VirtMusPortable.exe
- Point it to
- Run "PortableApps.com Installer" from PortableApps on USB drive
- Point it to
.../Installer/VirtMusPortable
- This will create
Installer/VirtMusPortable_v.vv.paf.exe
- Point it to
- Distribute
Installer/VirtMusPortable_v.vv.paf.exe
Upgrade NetBeans Platform
- After upgrading, compare the new NetBeans/harness/etc/app.conf file with
Installer/VirtMus.conf
to make sure we're picking up any new features or settings. - As of NetBeans 8.0.2, there's a bug in the shell script used to launch an
application on the Mac / OSX which causes the app to show the default Java
icon in the dock and task list. The
NetBeans/harness/launchers/app.sh
file that gets copied by the build.launchers ant task contains the following code towards the bottom:
Darwin*)
eval exec sh "$nbexec" \
--jdkhome "$jdkhome" \
-J-Dcom.apple.mrj.application.apple.menu.about.name= "$APPNAME" \
-J-Xdock:name= "$APPNAME" \
"-J-Xdock:icon=$progdir/../../$APPNAME.icns" \
--clusters "$clusters" \
--userdir "${userdir}" \
${default_options} \
"$args"
;;
To fix it, replace the following line:
"-J-Xdock:icon=$progdir/../../$APPNAME.icns" \
with
"-J-Xdock:icon=$progdir/../$APPNAME.icns" \