App-Music-ChordPro
view release on metacpan or search on metacpan
- Fix issue #132.
- Fix issue #163.
- Fix issue #165.
- Fix issue #178 (non-ascii filenames on Windows).
5.982 2021-08-31
- !ChordPro functionality
- Add --strict option to enforce conformance to ChordPro standard.
Enabled by default, may be disabled with --no-strict.
- Add/update misc. files for desktop systems.
- !BugFixes
- Incorporate Data::Properties instead of using the CPAN version,
since this version is incompatible.
5.981 2021-08-23
- !ChordPro Syntax
- Add Cheat Sheet with ChordPro syntax and availability.
- !ChordPro functionality
- Document properties for the PDF can be supplied in the config file.
0.978 2021-03-05
- !ChordPro functionality
- Allow array element addressing in --define.
- Retain line numbers for backend diagnostics.
- Experimental support for ABC.
- Experimental support for MacOS.
- New icons.
- Windows: Installer associates ChordPro with .cho files.
- Linux: Support for desktop and app icons.
- Linux: Support building an AppImage.
- Restore section label as comment (config: pdf.labels.comment).
- Add experimental MMA backend.
- Add metadata "today".
- !Bugfixes
- Fix chords transpose in comments with output ChordPro.
- Fix detection of grid params in start_of_grid.
- Fix problem with path name in start menu after windows install.
0.977 2020-08-26
lib/ChordPro/res/icons/wx-main-book.png
lib/ChordPro/res/icons/wx-main-documentation.png
lib/ChordPro/res/icons/wx-main-existing-doc.png
lib/ChordPro/res/icons/wx-main-new-doc.png
lib/ChordPro/res/icons/wx-main-sample-doc.png
lib/ChordPro/res/icons/wx-main-website.png
lib/ChordPro/res/icons/wx-toolbar-back.png
lib/ChordPro/res/icons/wx-toolbar-messages.png
lib/ChordPro/res/icons/wx-toolbar-preferences.png
lib/ChordPro/res/icons/wx-toolbar-preview.png
lib/ChordPro/res/linux/org.chordpro.desktop
lib/ChordPro/res/linux/org.chordpro.metainfo.xml
lib/ChordPro/res/linux/chordpro.xml
lib/ChordPro/res/linux/setup_desktop.sh
lib/ChordPro/res/pod/A2Crd.pod
lib/ChordPro/res/pod/ChordPro.pod
lib/ChordPro/res/pod/Config.pod
lib/ChordPro/res/styles/chordpro.css
lib/ChordPro/res/styles/chordpro_print.css
lib/ChordPro/res/templates/comment.tt
lib/ChordPro/res/templates/guitar_comment.tt
lib/ChordPro/res/templates/guitar_image.tt
lib/ChordPro/res/templates/guitar_songbook.tt
lib/ChordPro/res/templates/image.tt
lib/ChordPro/Paths.pm view on Meta::CPAN
# On Windows, Cwd::realpath always returns a volume.
BUILD {
my $app = "ChordPro";
my $app_lc = lc($app);
$pathsep = is_msw ? ';' : ':';
$home = realpath( $ENV{HOME} = File::HomeDir->my_home );
# $desktop = File::HomeDir->my_desktop;
# $docs = File::HomeDir->my_documents;
# $music = File::HomeDir->my_music;
# $pics = File::HomeDir->my_pictures;
# $videos = File::HomeDir->my_videos;
# $data = File::HomeDir->my_data;
# $dist = File::HomeDir->my_dist_data('ChordPro');
# $dist = File::HomeDir->my_dist_config('ChordPro');
# Establish config files. Global config is easy.
for ( $self->normalize("/etc/$app_lc.json") ) {
lib/ChordPro/Paths.pm view on Meta::CPAN
$configs = {};
# The user specific config requires some alternatives.
# -d $XDG_CONFIG_HOME/$app_lc
# -d ~/.config/$app_lc
# -d ~/.$app_lc
# -d my_dist_config
my @try;
if ( defined( $ENV{XDG_CONFIG_HOME} ) && $ENV{XDG_CONFIG_HOME} ne "" ) {
push( @try,
# See https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
# fn_catdir( $ENV{XDG_CONFIG_HOME}, ".config", $app_lc ),
# fn_catdir( $ENV{XDG_CONFIG_HOME}, ".config" ),
# fn_catdir( $ENV{XDG_CONFIG_HOME}, ".$app_lc" ) );
fn_catdir( $ENV{XDG_CONFIG_HOME}, "$app_lc" ) );
}
else {
push( @try,
fn_catdir( $home, ".config", $app_lc ),
fn_catdir( $home, ".$app_lc" ),
File::HomeDir->my_dist_config($app) );
lib/ChordPro/res/linux/chordpro.xml view on Meta::CPAN
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/x-chordpro">
<sub-class-of type="text/plain"/>
<glob pattern="*.cho" weight="80"/>
<glob pattern="*.chordpro" weight="100"/>
<glob pattern="*.chopro" weight="100"/>
<glob pattern="*.crd" weight="50"/>
<comment>ChordPro lead sheet document</comment>
<generic-icon name="x-chordpro-doc"/>
<magic priority="80">
<match value='{title' type='string' offset='0:200'/>
lib/ChordPro/res/linux/org.chordpro.metainfo.xml view on Meta::CPAN
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>org.chordpro.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>Artistic-2.0</project_license>
<name>ChordPro</name>
<summary>Print songbooks (lyrics + chords)</summary>
<description>
<p>ChordPro will read a text file containing the lyrics of one or many
songs plus chord information. ChordPro will then generate a
photo-ready, professional looking, impress-your-friends sheet-music
suitable for printing on your nearest printer.</p>
<p>ChordPro is a rewrite of the Chordii program.</p>
lib/ChordPro/res/linux/org.chordpro.metainfo.xml view on Meta::CPAN
</screenshot>
<screenshot>
<image>https://www.chordpro.org/appdata/screenshot4.png</image>
<caption>Songbook window with preview.</caption>
</screenshot>
<screenshot>
<image>https://www.chordpro.org/appdata/screenshot5.png</image>
<caption>Command line.</caption>
</screenshot>
</screenshots>
<launchable type="desktop-id">org.chordpro.desktop</launchable>
<provides>
<mediatype>application/x-chordpro</mediatype>
<mediatype>text/x-chordpro</mediatype>
</provides>
<content_rating type="oars-1.0" />
<url type="homepage">https://www.chordpro.org/</url>
<developer id="org.chordpro">
<name>Team ChordPro</name>
</developer>
<update_contact>info_AT_chordpro.org</update_contact>
lib/ChordPro/res/linux/setup_desktop.sh view on Meta::CPAN
#!/bin/sh
# Performs a local (user) install of desktop items.
# This will also associate files with extension `.cho`, `.chordpro`,
# `.chopro`, and `.crd` with the ChordPro program.
action="install"
actype="user"
if [ "$1" = "uninstall" ]; then
action="uninstall"
fi
lib/ChordPro/res/linux/setup_desktop.sh view on Meta::CPAN
XDG=${HOME}/.local/share
XDG_APP=${XDG}/applications
XDG_MIME=${XDG}/mime
XDG_ICONS=${XDG}/icons
# Icons.
ILIB=${RES}/icons
# Templates.
TLIB=${RES}/linux
TPL=org.chordpro.desktop
XML=org.chordpro.xml
ISIZE=256
if [ $action = "install" ]
then
# Prepare the desktop template.
desktop-file-edit --set-icon="${ILIB}/chordpro.png" ${TLIB}/${TPL}
# Install for user desktop
desktop-file-install --mode=0755 --dir=$HOME/Desktop ${TLIB}/${TPL}
desktop-file-validate ${HOME}/Desktop/${TPL}
# Install in applications menu.
desktop-file-install --dir=${XDG_APP} \
--rebuild-mime-info-cache ${TLIB}/${TPL}
# Install mime info.
cp -p ${TLIB}/${XML} ${XDG_MIME}/packages/
xdg-icon-resource install --context mimetypes --size ${ISIZE} \
${ILIB}/chordpro-doc.png x-chordpro-doc
else
rm -f ${HOME}/Desktop/${TPL}
rm -f ${XDG_APP}/${TPL}
xdg-icon-resource uninstall --context mimetypes --size ${ISIZE} x-chordpro-doc
rm -f ${XDG_MIME}/packages/${XML}
fi
# Update current info.
update-desktop-database ${XDG_APP}
update-mime-database ${XDG_MIME}
test -x /usr/bin/update-icon-caches && update-icon-caches ${XDG_ICONS} || true
test -x /usr/bin/gtk-update-icon-cache && gtk-update-icon-cache ${XDG_ICONS} || true
( run in 0.536 second using v1.01-cache-2.11-cpan-299005ec8e3 )