App-Music-ChordPro

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

    - 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.

Changes  view on Meta::CPAN


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

MANIFEST  view on Meta::CPAN

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 )