packages feed

Euterpea 2.0.5 → 2.0.6

raw patch · 161 files changed

+189/−109 lines, 161 filesdep ~containersdep ~stmbinary-addedPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: containers, stm

API changes (from Hackage documentation)

Files

− .git/COMMIT_EDITMSG
@@ -1,3 +0,0 @@-EnableGUI reference removed--Refernece removed to a file that no longer exists in Euterpea2.
.git/FETCH_HEAD view
@@ -1,1 +1,1 @@-77a0936d0edcb6a31830b464e6cc3eb066beffa9		branch 'master' of https://github.com/Euterpea/Euterpea2+d27e2ddbce03ebd0f545186f1a6c4fe4c5320ebc		branch 'master' of https://github.com/Euterpea/Euterpea2
.git/ORIG_HEAD view
@@ -1,1 +1,1 @@-b93609b90dd7ff47b06e8207118b7ced0423302b+8d88f6d82046f105cdce1bd722df40f1c77c7a7b
.git/config view
@@ -5,6 +5,8 @@ 	logallrefupdates = true 	symlinks = false 	ignorecase = true+[submodule]+	active = . [remote "origin"] 	url = https://github.com/Euterpea/Euterpea2.git 	fetch = +refs/heads/*:refs/remotes/origin/*
+ .git/hooks/fsmonitor-watchman.sample view
@@ -0,0 +1,114 @@+#!/usr/bin/perl++use strict;+use warnings;+use IPC::Open2;++# An example hook script to integrate Watchman+# (https://facebook.github.io/watchman/) with git to speed up detecting+# new and modified files.+#+# The hook is passed a version (currently 1) and a time in nanoseconds+# formatted as a string and outputs to stdout all files that have been+# modified since the given time. Paths must be relative to the root of+# the working tree and separated by a single NUL.+#+# To enable this hook, rename this file to "query-watchman" and set+# 'git config core.fsmonitor .git/hooks/query-watchman'+#+my ($version, $time) = @ARGV;++# Check the hook interface version++if ($version == 1) {+	# convert nanoseconds to seconds+	$time = int $time / 1000000000;+} else {+	die "Unsupported query-fsmonitor hook version '$version'.\n" .+	    "Falling back to scanning...\n";+}++my $git_work_tree;+if ($^O =~ 'msys' || $^O =~ 'cygwin') {+	$git_work_tree = Win32::GetCwd();+	$git_work_tree =~ tr/\\/\//;+} else {+	require Cwd;+	$git_work_tree = Cwd::cwd();+}++my $retry = 1;++launch_watchman();++sub launch_watchman {++	my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty')+	    or die "open2() failed: $!\n" .+	    "Falling back to scanning...\n";++	# In the query expression below we're asking for names of files that+	# changed since $time but were not transient (ie created after+	# $time but no longer exist).+	#+	# To accomplish this, we're using the "since" generator to use the+	# recency index to select candidate nodes and "fields" to limit the+	# output to file names only. Then we're using the "expression" term to+	# further constrain the results.+	#+	# The category of transient files that we want to ignore will have a+	# creation clock (cclock) newer than $time_t value and will also not+	# currently exist.++	my $query = <<"	END";+		["query", "$git_work_tree", {+			"since": $time,+			"fields": ["name"],+			"expression": ["not", ["allof", ["since", $time, "cclock"], ["not", "exists"]]]+		}]+	END++	print CHLD_IN $query;+	close CHLD_IN;+	my $response = do {local $/; <CHLD_OUT>};++	die "Watchman: command returned no output.\n" .+	    "Falling back to scanning...\n" if $response eq "";+	die "Watchman: command returned invalid output: $response\n" .+	    "Falling back to scanning...\n" unless $response =~ /^\{/;++	my $json_pkg;+	eval {+		require JSON::XS;+		$json_pkg = "JSON::XS";+		1;+	} or do {+		require JSON::PP;+		$json_pkg = "JSON::PP";+	};++	my $o = $json_pkg->new->utf8->decode($response);++	if ($retry > 0 and $o->{error} and $o->{error} =~ m/unable to resolve root .* directory (.*) is not watched/) {+		print STDERR "Adding '$git_work_tree' to watchman's watch list.\n";+		$retry--;+		qx/watchman watch "$git_work_tree"/;+		die "Failed to make watchman watch '$git_work_tree'.\n" .+		    "Falling back to scanning...\n" if $? != 0;++		# Watchman will always return all files on the first query so+		# return the fast "everything is dirty" flag to git and do the+		# Watchman query just to get it over with now so we won't pay+		# the cost in git to look up each individual file.+		print "/\0";+		eval { launch_watchman() };+		exit 0;+	}++	die "Watchman: $o->{error}.\n" .+	    "Falling back to scanning...\n" if $o->{error};++	binmode STDOUT, ":utf8";+	local $, = "\0";+	print @{$o->{files}};+}
.git/hooks/pre-rebase.sample view
@@ -58,7 +58,7 @@ 	not_in_topic=`git rev-list "^$topic" master` 	if test -z "$not_in_topic" 	then-		echo >&2 "$topic is already up-to-date with master"+		echo >&2 "$topic is already up to date with master" 		exit 1 ;# we could allow it, but there is no point. 	else 		exit 0@@ -88,9 +88,7 @@ 	exit 1 fi -exit 0--################################################################+<<\DOC_END  This sample hook safeguards topic branches that have been published from being rewound.@@ -167,3 +165,5 @@ 	git rev-list master..topic  	if this is empty, it is fully merged to "master".++DOC_END
.git/hooks/prepare-commit-msg.sample view
@@ -9,8 +9,8 @@ # # To enable this hook, rename this file to "prepare-commit-msg". -# This hook includes three examples.  The first comments out the-# "Conflicts:" part of a merge commit.+# This hook includes three examples. The first one removes the+# "# Please enter the commit message..." help message. # # The second includes the output of "git diff --name-status -r" # into the message, just before the "git status" output.  It is@@ -20,17 +20,23 @@ # The third example adds a Signed-off-by line to the message, that can # still be edited.  This is rarely a good idea. -case "$2,$3" in-  merge,)-    /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;+COMMIT_MSG_FILE=$1+COMMIT_SOURCE=$2+SHA1=$3 -# ,|template,)-#   /usr/bin/perl -i.bak -pe '-#      print "\n" . `git diff --cached --name-status -r`-#	 if /^#/ && $first++ == 0' "$1" ;;+/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" -  *) ;;-esac+# case "$COMMIT_SOURCE,$SHA1" in+#  ,|template,)+#    /usr/bin/perl -i.bak -pe '+#       print "\n" . `git diff --cached --name-status -r`+# 	 if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;;+#  *) ;;+# esac -# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')-# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"+# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')+# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE"+# if test -z "$COMMIT_SOURCE"+# then+#   /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE"+# fi
.git/index view

binary file changed (2532 → 2532 bytes)

.git/logs/HEAD view
@@ -1,13 +1,2 @@-0000000000000000000000000000000000000000 23b0fe619f7f91be4123ef976dd9284c11c1093a Donya Quick <donyaquick@gmail.com> 1495035254 -0700	clone: from https://github.com/Euterpea/Euterpea2.git-23b0fe619f7f91be4123ef976dd9284c11c1093a ef06402d714aa53dae0ba9c74b68d8b4ddea1329 Donya Quick <donyaquick@gmail.com> 1496256684 -0500	pull --no-rebase --progress origin: Fast-forward-ef06402d714aa53dae0ba9c74b68d8b4ddea1329 957f3714d66fa6bd059f71b91a1e725b1d2e08a5 Donya Quick <donyaquick@gmail.com> 1499191363 -0400	commit: Misc changes-957f3714d66fa6bd059f71b91a1e725b1d2e08a5 bd913f30e7561f8c842deaed7b028823aa822203 Donya Quick <donyaquick@gmail.com> 1499192677 -0400	commit: Binary encoding fixes.-bd913f30e7561f8c842deaed7b028823aa822203 02f0974406cb38a71a2bdfe8204e87bd0cd03892 Donya Quick <donyaquick@gmail.com> 1503766667 -0400	pull --no-rebase --progress origin: Fast-forward-02f0974406cb38a71a2bdfe8204e87bd0cd03892 b2090cd8ae9dc5c97258a85c28874be97a4236fb Donya Quick <donyaquick@gmail.com> 1503778592 -0400	pull --no-rebase --progress origin: Fast-forward-b2090cd8ae9dc5c97258a85c28874be97a4236fb b3318124d370ece16dadd88471b7da08edaec784 Donya Quick <donyaquick@gmail.com> 1503780940 -0400	commit: Documentation update-b3318124d370ece16dadd88471b7da08edaec784 1ebd6e31aa5d954bcc0ccb6ac76b82ed892efb69 Donya Quick <donyaquick@gmail.com> 1527371401 -0400	commit: HCodecs version bumped.-1ebd6e31aa5d954bcc0ccb6ac76b82ed892efb69 331bb2029ff2d4b87f05d3b9d0968c29e2a49c95 Donya Quick <donyaquick@gmail.com> 1530127543 -0400	pull --no-rebase --progress origin: Fast-forward-331bb2029ff2d4b87f05d3b9d0968c29e2a49c95 1ac4c067ddd2305527b67e2aa9e56b19dfb3c808 Donya Quick <donyaquick@gmail.com> 1530149500 -0400	pull --no-rebase --progress origin: Fast-forward-1ac4c067ddd2305527b67e2aa9e56b19dfb3c808 e4c9ce6d2f62995a25daa505e8211cf7b355dbf4 Donya Quick <donyaquick@gmail.com> 1530468209 -0400	commit: PortMidi version change (0.1.6.1)-e4c9ce6d2f62995a25daa505e8211cf7b355dbf4 b93609b90dd7ff47b06e8207118b7ced0423302b Donya Quick <donyaquick@gmail.com> 1530490248 -0400	commit: EnableGUI reference removed-b93609b90dd7ff47b06e8207118b7ced0423302b 77a0936d0edcb6a31830b464e6cc3eb066beffa9 Donya Quick <donyaquick@gmail.com> 1530492169 -0400	pull --no-rebase --progress origin: Fast-forward+0000000000000000000000000000000000000000 8d88f6d82046f105cdce1bd722df40f1c77c7a7b Donya Quick <donyaquick@gmail.com> 1535156477 -0400	clone: from https://github.com/Euterpea/Euterpea2.git+8d88f6d82046f105cdce1bd722df40f1c77c7a7b d27e2ddbce03ebd0f545186f1a6c4fe4c5320ebc Donya Quick <donyaquick@gmail.com> 1537922762 -0400	pull --no-rebase --progress origin: Fast-forward
.git/logs/refs/heads/master view
@@ -1,13 +1,2 @@-0000000000000000000000000000000000000000 23b0fe619f7f91be4123ef976dd9284c11c1093a Donya Quick <donyaquick@gmail.com> 1495035254 -0700	clone: from https://github.com/Euterpea/Euterpea2.git-23b0fe619f7f91be4123ef976dd9284c11c1093a ef06402d714aa53dae0ba9c74b68d8b4ddea1329 Donya Quick <donyaquick@gmail.com> 1496256684 -0500	pull --no-rebase --progress origin: Fast-forward-ef06402d714aa53dae0ba9c74b68d8b4ddea1329 957f3714d66fa6bd059f71b91a1e725b1d2e08a5 Donya Quick <donyaquick@gmail.com> 1499191363 -0400	commit: Misc changes-957f3714d66fa6bd059f71b91a1e725b1d2e08a5 bd913f30e7561f8c842deaed7b028823aa822203 Donya Quick <donyaquick@gmail.com> 1499192677 -0400	commit: Binary encoding fixes.-bd913f30e7561f8c842deaed7b028823aa822203 02f0974406cb38a71a2bdfe8204e87bd0cd03892 Donya Quick <donyaquick@gmail.com> 1503766667 -0400	pull --no-rebase --progress origin: Fast-forward-02f0974406cb38a71a2bdfe8204e87bd0cd03892 b2090cd8ae9dc5c97258a85c28874be97a4236fb Donya Quick <donyaquick@gmail.com> 1503778592 -0400	pull --no-rebase --progress origin: Fast-forward-b2090cd8ae9dc5c97258a85c28874be97a4236fb b3318124d370ece16dadd88471b7da08edaec784 Donya Quick <donyaquick@gmail.com> 1503780940 -0400	commit: Documentation update-b3318124d370ece16dadd88471b7da08edaec784 1ebd6e31aa5d954bcc0ccb6ac76b82ed892efb69 Donya Quick <donyaquick@gmail.com> 1527371401 -0400	commit: HCodecs version bumped.-1ebd6e31aa5d954bcc0ccb6ac76b82ed892efb69 331bb2029ff2d4b87f05d3b9d0968c29e2a49c95 Donya Quick <donyaquick@gmail.com> 1530127543 -0400	pull --no-rebase --progress origin: Fast-forward-331bb2029ff2d4b87f05d3b9d0968c29e2a49c95 1ac4c067ddd2305527b67e2aa9e56b19dfb3c808 Donya Quick <donyaquick@gmail.com> 1530149500 -0400	pull --no-rebase --progress origin: Fast-forward-1ac4c067ddd2305527b67e2aa9e56b19dfb3c808 e4c9ce6d2f62995a25daa505e8211cf7b355dbf4 Donya Quick <donyaquick@gmail.com> 1530468209 -0400	commit: PortMidi version change (0.1.6.1)-e4c9ce6d2f62995a25daa505e8211cf7b355dbf4 b93609b90dd7ff47b06e8207118b7ced0423302b Donya Quick <donyaquick@gmail.com> 1530490248 -0400	commit: EnableGUI reference removed-b93609b90dd7ff47b06e8207118b7ced0423302b 77a0936d0edcb6a31830b464e6cc3eb066beffa9 Donya Quick <donyaquick@gmail.com> 1530492169 -0400	pull --no-rebase --progress origin: Fast-forward+0000000000000000000000000000000000000000 8d88f6d82046f105cdce1bd722df40f1c77c7a7b Donya Quick <donyaquick@gmail.com> 1535156477 -0400	clone: from https://github.com/Euterpea/Euterpea2.git+8d88f6d82046f105cdce1bd722df40f1c77c7a7b d27e2ddbce03ebd0f545186f1a6c4fe4c5320ebc Donya Quick <donyaquick@gmail.com> 1537922762 -0400	pull --no-rebase --progress origin: Fast-forward
.git/logs/refs/remotes/origin/HEAD view
@@ -1,1 +1,1 @@-0000000000000000000000000000000000000000 23b0fe619f7f91be4123ef976dd9284c11c1093a Donya Quick <donyaquick@gmail.com> 1495035254 -0700	clone: from https://github.com/Euterpea/Euterpea2.git+0000000000000000000000000000000000000000 8d88f6d82046f105cdce1bd722df40f1c77c7a7b Donya Quick <donyaquick@gmail.com> 1535156477 -0400	clone: from https://github.com/Euterpea/Euterpea2.git
.git/logs/refs/remotes/origin/master view
@@ -1,11 +1,1 @@-23b0fe619f7f91be4123ef976dd9284c11c1093a ef06402d714aa53dae0ba9c74b68d8b4ddea1329 Donya Quick <donyaquick@gmail.com> 1496256683 -0500	fetch --progress --prune origin: fast-forward-ef06402d714aa53dae0ba9c74b68d8b4ddea1329 bd913f30e7561f8c842deaed7b028823aa822203 Donya Quick <donyaquick@gmail.com> 1499192681 -0400	update by push-bd913f30e7561f8c842deaed7b028823aa822203 02f0974406cb38a71a2bdfe8204e87bd0cd03892 Donya Quick <donyaquick@gmail.com> 1503766664 -0400	fetch --progress --prune origin: fast-forward-02f0974406cb38a71a2bdfe8204e87bd0cd03892 b2090cd8ae9dc5c97258a85c28874be97a4236fb Donya Quick <donyaquick@gmail.com> 1503778572 -0400	fetch --progress --prune origin: fast-forward-b2090cd8ae9dc5c97258a85c28874be97a4236fb b3318124d370ece16dadd88471b7da08edaec784 Donya Quick <donyaquick@gmail.com> 1503780945 -0400	update by push-b3318124d370ece16dadd88471b7da08edaec784 1ebd6e31aa5d954bcc0ccb6ac76b82ed892efb69 Donya Quick <donyaquick@gmail.com> 1527371408 -0400	update by push-1ebd6e31aa5d954bcc0ccb6ac76b82ed892efb69 331bb2029ff2d4b87f05d3b9d0968c29e2a49c95 Donya Quick <donyaquick@gmail.com> 1530127542 -0400	fetch --progress --prune origin: fast-forward-331bb2029ff2d4b87f05d3b9d0968c29e2a49c95 1ac4c067ddd2305527b67e2aa9e56b19dfb3c808 Donya Quick <donyaquick@gmail.com> 1530149467 -0400	fetch --progress --prune origin: fast-forward-1ac4c067ddd2305527b67e2aa9e56b19dfb3c808 e4c9ce6d2f62995a25daa505e8211cf7b355dbf4 Donya Quick <donyaquick@gmail.com> 1530468215 -0400	update by push-e4c9ce6d2f62995a25daa505e8211cf7b355dbf4 b93609b90dd7ff47b06e8207118b7ced0423302b Donya Quick <donyaquick@gmail.com> 1530490263 -0400	update by push-b93609b90dd7ff47b06e8207118b7ced0423302b 77a0936d0edcb6a31830b464e6cc3eb066beffa9 Donya Quick <donyaquick@gmail.com> 1530492166 -0400	fetch --progress --prune origin: fast-forward+8d88f6d82046f105cdce1bd722df40f1c77c7a7b d27e2ddbce03ebd0f545186f1a6c4fe4c5320ebc Donya Quick <donyaquick@gmail.com> 1537922666 -0400	fetch --progress --prune origin: fast-forward
− .git/objects/01/024db2f04aee6d9f60a91476631c20da20a599

binary file changed (23035 → absent bytes)

− .git/objects/02/38550e704e099e5372a409461f44547ea79b98

binary file changed (1341 → absent bytes)

− .git/objects/02/727d144f7ab7d1800989ad4c5168028fd03247

binary file changed (1136 → absent bytes)

− .git/objects/02/f0974406cb38a71a2bdfe8204e87bd0cd03892
@@ -1,2 +0,0 @@-x•ŽÁn„0D{ÎWøŠŒCˆ‘VÕöÐcÁ$F‹-‚·_´ç^zšÑhžfÒ2Ï£uøb›*äF;an‰I£ú:äÐPŸ|„2£:
n•M‹AŸ»Ú5†¶8qCYEs<fò"LDè<ì¾l—r\žòýu-j{’U«Ó¼AÐǖšáD—žïLÿ˹›®Z²–tÀcÍbº»?2ÎGçÆ*6öã4Ú?£Ýá]öO&ø˜ÄÎÊ\QUW^]
− .git/objects/03/5dbf6733fe0e251e1d6763cc2cf1f92ec45b97

binary file changed (137 → absent bytes)

− .git/objects/06/8ccf9b2b17b09afeb0945d8eea4e1ec9b5931b

binary file changed (11835 → absent bytes)

− .git/objects/08/3f9c4ba34a66851c760b9606c31278e056e017

binary file changed (6897 → absent bytes)

− .git/objects/0a/43fe37ff7154b4ae2f767e21231fd4351d9af1

binary file changed (13537 → absent bytes)

− .git/objects/0a/761e547df00e9dc91da0a5099bf002fe064369
@@ -1,1 +0,0 @@-x+)JMU0´0f040031QðMÌÌÓËÈdH{6­Xûö‚÷¡<gþM¿Ìެ$Ÿañ‘kÂg®EíÙ}hßù¥<r‹ *ŠSKJôR+R¾?Üsùý3Ù]_’]Ît»xˆº-ƒ¢(£˜a­Õ„øÍùO|âùk¥?<ûµùr¶o"Šš²Ô¢âÌü<•Ðm‡O7H½:yM¢6¾ZíîänG‹O×
− .git/objects/0d/3b143490c5d1bc828167dea1870dde9cd4a6ed

binary file changed (1133 → absent bytes)

− .git/objects/0e/1c38b33561bb4a50232bd0c9afbdc9aeb4fc76

binary file changed (244 → absent bytes)

− .git/objects/0f/da2b43ce06c5f2bd8decb72778ac85da009fc5

binary file changed (82 → absent bytes)

− .git/objects/10/940a60108e8947be43e6c5454b36703f3af527

binary file changed (901 → absent bytes)

− .git/objects/17/e94f9e475ee049f36dfd19fee87e4e1fa9074a

binary file changed (10296 → absent bytes)

− .git/objects/1a/c4c067ddd2305527b67e2aa9e56b19dfb3c808

binary file changed (251 → absent bytes)

− .git/objects/1b/74031fc6b4b883f5b04cd072f3b2d31251ee89

binary file changed (83 → absent bytes)

− .git/objects/1c/efbe95003d3a2016fb90f8131040cf38236ef3

binary file changed (187 → absent bytes)

− .git/objects/1e/bd6e31aa5d954bcc0ccb6ac76b82ed892efb69
@@ -1,1 +0,0 @@-xŽAnà E»æsZ`C¤¨ª”.²l0ÀТ€qm\5·¯s…îþûú_z¡Õš;(gŸúʘƄZÅəF9z´£É¡×˜Mætòr­<wðZ£Ce¢¶’㏹sÆ¢·‘¤ãH¬3‚öþÕVxkóàcÏáçø€ïG~ý¬”ËZ}•ՍDx–FJq´‡cçÿ½ÅõÒ"‡
~xÝr›Áïuá8qiu¡ž}.¹ß!å_H‡á•¶—ï…úÁÜ`5ˆ?³¯\s
− .git/objects/1f/5f132d6440f505b17add35a81b31f4a6499b06

binary file changed (243 → absent bytes)

− .git/objects/24/55b6c3cb801aeac9d6187d5f7b26dd93b946c5

binary file changed (36 → absent bytes)

− .git/objects/29/529e1996bba392c92087b0f650514c6399bee7

binary file changed (155 → absent bytes)

− .git/objects/2a/9bea58331ca40b8b405f96ea5d3d247e7289f0

binary file changed (513632 → absent bytes)

− .git/objects/2b/1cbcde96e1c5090959a5874b0c692f87c33105

binary file changed (5567 → absent bytes)

+ .git/objects/2c/39ac3b3d015b52d52ed6c96d86577060ad5735 view

binary file changed (absent → 5038 bytes)

− .git/objects/2e/6373695d1691df1d2172af4bab2e5d9a2b8cba

binary file changed (487 → absent bytes)

− .git/objects/2f/6595b291855c3afb62baa5f782de4acc472782

binary file changed (4179 → absent bytes)

− .git/objects/2f/f6fa63f2e9efaa4004c30e4a5f491bbe2dce79

binary file changed (244 → absent bytes)

− .git/objects/33/1bb2029ff2d4b87f05d3b9d0968c29e2a49c95
@@ -1,1 +0,0 @@-xŽAnÂ0E»ö)æ qìØ©ªXpzƒ±=Q1	‘³àö
W`÷ߓžôËÜÚÔapö«¯" CŒN-¹@™RÈ^5Ä+YÒÂQh ¯l^åÑ!—D"Ä>jÆ :¦S@Âàc"åLäÙÞúm^á<?^—m*ð]ßð|ïÓµñt?–¹ý€¢£%8 G4»Ý?vù¬6¿Âµ	lKå.Õü*I
− .git/objects/37/f795427c8e51b753de9d7ee5b858d9394bb50d

binary file changed (244 → absent bytes)

− .git/objects/39/463363d990ed242c0be4bcdcd09b6f1f4ddf51

binary file changed (13697 → absent bytes)

− .git/objects/3a/3f19d55b74d7aec2bd414cc388f0c581d037f5

binary file changed (272 → absent bytes)

− .git/objects/3b/5d8b976e4848d4a39e7b0004bbf070df857f56

binary file changed (1152 → absent bytes)

− .git/objects/3c/4d533b912c3934c8f5d31f74ecd1738a14d1ea

binary file changed (82 → absent bytes)

− .git/objects/40/f7e1bcd3efe61dbaf46344cc8b4449c05adb1c

file too large to diff

− .git/objects/41/cd1beb04060f4de58355deec1958f1879357b9

binary file changed (3984 → absent bytes)

− .git/objects/42/5353d295a19c6a399e02b515a85e0036be7e98

binary file changed (271 → absent bytes)

− .git/objects/42/a10db85f8de9ab90bd19b81ee041a157360902

binary file changed (1133 → absent bytes)

− .git/objects/44/4f7257c52f2671cbe413f4bdcf8ca94ca23263
@@ -1,5 +0,0 @@-x¥‘½-Â0FówlA--:hÁ-Ω¹j IJ~,¾½iŠh‘’Á19'_òÝԍªa¹Z̄b®AØ9‹ºEše¶qŒ+À̶ÔðKÅo¹“fîUˆ¨1éôl1æeä¦#J†z:Í-žéc¼:(-ükSè.Z¥íoùQ¿ˆe¦yh5‹rš
]y÷€«¤ïiÖfÞ …„ÍMê7t(_åžöRà\(gsî?x8ÏÀ|2ûiü›û•²_=L“
− .git/objects/44/ab1907cf3f73e27e932b5f9adbc1aff0055bd9

binary file changed (75 → absent bytes)

− .git/objects/44/f568871f65e55de26a74570d1c2c7cb3807108

binary file changed (4340 → absent bytes)

− .git/objects/46/3f7f59329b9a5f8bdf4aa81f7eeffac86a9c79

binary file changed (272 → absent bytes)

− .git/objects/46/a33e2dc6a3ec2742374414f9bc62e88613f7b0

binary file changed (13286 → absent bytes)

− .git/objects/49/cb068c76678f59d50ff054d774c193fb8fb0ee

binary file changed (1138 → absent bytes)

− .git/objects/4c/e69816c36136d41f468bf686466b772a599da1

binary file changed (244 → absent bytes)

− .git/objects/4d/e09d19a52859416eebe7337b734228c36eeaea

binary file changed (5445 → absent bytes)

− .git/objects/51/cd2dac70f36461ce75efa6dd04f4191cfb85a2

binary file changed (8785 → absent bytes)

+ .git/objects/51/d7405b33a961325d382e2e1c063fdbbd9476e2 view

binary file changed (absent → 1125 bytes)

− .git/objects/52/e61beeaa81f6b0c835d6c85fc13eac3efa4370

binary file changed (262 → absent bytes)

− .git/objects/56/1a90e094ad0eb02d529258e705dc2eb8567006

binary file changed (521 → absent bytes)

− .git/objects/58/0c534bc0e4a8acd956e26c44fdbe771daaeaee

binary file changed (4780 → absent bytes)

− .git/objects/5b/3b5b7a40203f6670d667ccf1490af895b2532e

binary file changed (9778 → absent bytes)

− .git/objects/5f/076dc7ec4d470f347d83ebdac8a52b61089ed6

binary file changed (107 → absent bytes)

− .git/objects/64/b3cbe8b2375dc3a504cc49645a7c302d3bb03e

binary file changed (100 → absent bytes)

− .git/objects/66/ea5696732fb7b770ef550c4058ccfe97df5307

binary file changed (1919 → absent bytes)

− .git/objects/6a/3307ad57c076c3495045be348827023ba172f3

binary file changed (39242 → absent bytes)

− .git/objects/75/9312bb8b687b8750bf60d89157b2f743492c0f

binary file changed (136 → absent bytes)

− .git/objects/77/a0936d0edcb6a31830b464e6cc3eb066beffa9
@@ -1,1 +0,0 @@-xŽKnÃ0D»Ö)xÔϔ€"È"ÈL‘nZQã(zûÚWÈnæó0¥Õ:wp~øè«*xš(Çà¨$–)zÑ,¤9Å$ÙçÀQÌï¸ê­g?`æŒ"4MMÉÚÄTT08ïѱŸý»­pi·¿®Ï¹üÀ§ìå¾çóWçåXZ=Cv68`@4Ý>v}omd~t˜Ú"›`ÕÚ^*æ²K
− .git/objects/78/da1cc02000e99d137b8e57cdac5cfa0e1d61f0

binary file changed (3363 → absent bytes)

− .git/objects/7d/ee88664cf47d7a9c21afea2d12124baeba342a

binary file changed (272 → absent bytes)

− .git/objects/7e/4055ac6f1a57043bf851e0ac6895e48701dfb6

binary file changed (6252 → absent bytes)

− .git/objects/85/d332148dd5d2895c168281bd8f722082fb4642

binary file changed (52183 → absent bytes)

+ .git/objects/89/a356e4e706425e0137fbc4647d4d79f7f79ee2 view

binary file changed (absent → 82 bytes)

− .git/objects/89/bb679180ec64b2834e0a662ccc642e384bd1d1

binary file changed (136 → absent bytes)

− .git/objects/8a/8fe51cee7f28ddddda4a8ea391fc12c9535fd4

binary file changed (136 → absent bytes)

− .git/objects/8b/b417a4b89ec3ecea4151d2ac8e0de8499e1eda

binary file changed (7569 → absent bytes)

− .git/objects/8b/db3e4a0a2d31a39225a6dce662d10354bb03fb

binary file changed (1554 → absent bytes)

− .git/objects/8e/4353c7c431de8e9b96c548c56404725cebf8d7

binary file changed (26705 → absent bytes)

− .git/objects/8f/a140281ee2f80eea601f0a6e9882faef292c1c

binary file changed (83 → absent bytes)

− .git/objects/90/7abff0690c0ed58be55989ef2baadd94ec74d6

binary file changed (21992 → absent bytes)

− .git/objects/91/319c18ed3cd939faff2d9ddece6f22b3f3ff89

binary file changed (4886 → absent bytes)

− .git/objects/91/7dd66d08b00840b6875838915e705cf274b67b

binary file changed (6403 → absent bytes)

− .git/objects/92/1a567f84fd3c619896da656e8c6215500b0ee8

binary file changed (16081 → absent bytes)

− .git/objects/92/93d3861772b24047a535829d74e8eeb2b46735
@@ -1,1 +0,0 @@-x+)JMU06´d040031Qp­(È/*ñÍLÉtËÌIÕËÉ(f˜[ñ«Ùä¶|>y˜âw}éÖKæPÕnEù¹ µ`uJ³3å÷·ªÝñsxÛý1ÍI¾*4uF`…ÓýÕ?³E¯Üüywñž¬#IÛVï‚*tOÍK-J̛	´ú„¾ —qYjcY©Õ²9;ô>vPªôu-KÍ+›~Tц¥å¶SŽÏ·gŠ~+։L…©:ÎÓ¬ª{‹ø’ó¿yåxiMïÏyr· ªr+Áj–Ër+]n·—¼ýÞþbKí¦¤ +/¨š|¸GsgØý1þu>–qþû;‚‡‚Yôó¥Âvà€¨
− .git/objects/95/0a22f91621d654a3fc02109d04e693efd601dd

binary file changed (82 → absent bytes)

− .git/objects/95/7f3714d66fa6bd059f71b91a1e725b1d2e08a5

binary file changed (238 → absent bytes)

− .git/objects/98/a4d35831b52864d3c04205efcf32d97fa71141

binary file changed (159997 → absent bytes)

− .git/objects/9d/13ddca6950d8ab266b2af51b7cfff182897246

binary file changed (6754 → absent bytes)

− .git/objects/9d/34353ee46571bf1ae1cd47576fd101f90adc6c

binary file changed (80 → absent bytes)

− .git/objects/9f/66bb45272eb441beabde0c9e3eb8ca0909560e

binary file changed (1137 → absent bytes)

− .git/objects/9f/96656243a99efc634be16ce9bbc37153ddf901

binary file changed (7599 → absent bytes)

− .git/objects/a1/22b4153c502a959c1781b50c2d7a7c4aee9236

binary file changed (17388 → absent bytes)

− .git/objects/a2/1ce4cc33277796834cce54e132c455745fdc4a

binary file changed (94853 → absent bytes)

− .git/objects/a3/0a6d1ed203bc1d93004fd1b0dad1d1375bd83a

binary file changed (662399 → absent bytes)

− .git/objects/a3/c414d613cc00d65abcb35bc2becfd8750c1ea2

binary file changed (1514 → absent bytes)

− .git/objects/a4/5ecb0d529ba48d8eca951b686178162bb56fed

binary file changed (1813 → absent bytes)

+ .git/objects/a7/0504f785c4572afa4cf980332fe9b0f0da3245 view

binary file changed (absent → 296 bytes)

− .git/objects/a7/759cfaaf8d9cb9689de568e618cfdd0117725c

binary file changed (297 → absent bytes)

− .git/objects/aa/54f8d378706ccebc9f919eb858343684c0db35

binary file changed (42041 → absent bytes)

− .git/objects/aa/81ebb1eb76e5ad15763b0d1d4706c5e4e9b390

binary file changed (1137 → absent bytes)

− .git/objects/ab/968e1f5138259bf03a437adf6aeab81d2305f7

binary file changed (73 → absent bytes)

− .git/objects/ab/b50d7aa6249900fe22e523218f814ec5b1c0c8

binary file changed (4382 → absent bytes)

− .git/objects/ac/4e27878b2d3c880435a26a956fc06090678680

binary file changed (4195 → absent bytes)

− .git/objects/af/7a81d59cb968562885db868d11c23397fe76c4

binary file changed (4867 → absent bytes)

− .git/objects/b1/13c29eb1f0e31fabe30a3806d50c684682ce7b

binary file changed (136 → absent bytes)

− .git/objects/b2/090cd8ae9dc5c97258a85c28874be97a4236fb
@@ -1,2 +0,0 @@-x•ŽA E]s-. ZhbŒ/2CtQŠ-5éí­½›ÿÿâ½äó4ޝ¦­ÅS›E4ˆa±ëMŒŽ:°hc(Ç´§D—Ù÷ªÒ,¥i°ïô17´ÓY‚'ÁÿÄ«hmÏiÖi*éëQŸ÷½H[˜ª\öqÓ¦ô> óú@ññ®É¿žzH•’¤ð¦×š¨É¢¾“üGÿ
− .git/objects/b3/318124d370ece16dadd88471b7da08edaec784

binary file changed (169 → absent bytes)

− .git/objects/b4/4653878ead3d6a1487197e816f163cfb537ebb

binary file changed (83 → absent bytes)

− .git/objects/b4/54931a04f9f5ed704efee42f581efd7bab6ea6

binary file changed (243 → absent bytes)

− .git/objects/b5/2e7337b8ceb6af3917335286122e5583beb623

binary file changed (8653 → absent bytes)

− .git/objects/b8/d039f25c74aae5847108e06578fabd6044b08f

binary file changed (1161 → absent bytes)

− .git/objects/b9/3609b90dd7ff47b06e8207118b7ced0423302b

binary file changed (216 → absent bytes)

− .git/objects/b9/6ef39325e119fad7c502c7e4b75402d16ff52b
@@ -1,3 +0,0 @@-xU]o7ì3žÅôá)R8E‘&bJëDMýÀá×w„yäåHZ ßYžäÆi”‚¨#ow8;»KU.Tôôù?ýðÑO§³“Ù3µÒ1QŒ½±lÎèäÙô·ì¶Óӓ§ÏÕWÑ&>£6¥þl>ßl63Ή‡žõ¬¢kTÆþg\ükV;cÌD;|¾3`º¨àÁ~‡§²:LG&XŒ¨‚'Ÿëë9ö>Ò9ç‰<•5¦O´Q¯:s!"[Çò îGòV}”¨æ˜'×;̲7ÍĨ¬Ç·ê[qÈ!Ç·MúÑPêלÚ0Ä38]êìè"}‹Åb°5½nÙ7X\hKGòú˜V6cã<ø­¦wÙÖ·$KíéÊúÐÚL_‡!‘Roµõ	_Ԁ€éñ³÷Ïâý²é´u’â_”Zì3N6’&ðÊOcÏ5J¦&§}“uÃÄ]ÅÆ°!ëÁ,Þ²stR@邺á0pd=Ôí„ØäZ'”â„´7døŽ]è;öiBý¾!U…Ô’‰§N,Šm´×î°QÅ4èZâŒh™öL9Öìöˆ;ÜNaàâ~됽F\¦ /ŒËä´£>}ˆIéH	¿‘r¤¯ÂÓ}ï얐y,žÚXÃE»4äŽÎ׫	Ål“®—£[Û´û¨jõ"r6-¥´kÂ`SÛAJ9: C$Ôem|A5{œ:øšû¹n…¸z»<_¾(:¸°9h˜
¢zÍ1Bvð(n}j{©<¤Î’"RۍGŒJ­™	f(C(ŠÝÇ)°!i´Òv%Š™RËچLùàûJ²¯ÅJˆÑÑ1>¨‡zp¬ð€ëªn.ª76]äŠîöwò,ÛÎVƒ¶ãÅqs5@˕ôü‘‡‡Sõ*7'ÙR±5JX`¾mÈÎPŨáí„rAEƒuabcÌ(‘½ð?ϝ.J]~X­èýâ݇ÅúÏ5]-±zµ å›ßÿx¿8ŸèAÑ{€ÿà 檳I(¤v¹i•ø‚Ã( ú•ÑîvнZ@{™´C[–ˆœ\Ž£ØŠcKh;4ígU:«”äGJáÑÝ¡Žþëò8–L£b´sã¹¶”ÏØ©OSÊMÆ÷ºC–qÇH“ށté-Jd‡¬¡ý¾ÿŸô74>B¦
− .git/objects/ba/79d76d21f4f8570c2291f34c4e6a7c032ba6a6

binary file changed (24169 → absent bytes)

− .git/objects/bc/44a1c3065f4425ff4bd0bdeea06c9148d54b69

binary file changed (244 → absent bytes)

− .git/objects/bc/89ee9a47fb06ef5908208609064789fab994a3

binary file changed (270 → absent bytes)

− .git/objects/bd/913f30e7561f8c842deaed7b028823aa822203
@@ -1,2 +0,0 @@-xŽaj!FóÛSÌwÔB¥ÈFSIVۍÍí“\¡ÿ¾÷àÁ—ú²Ôf-»±Š@v)¡(32¡²“Áì%͂…â¬#F&õë´Áú2y¤ì\a³¶¡xŒÅ1Ñ3[ÅÛøî+|õö`8o5]áßðûÞ§ËÂõ¶O}9RŒó>4i­^öõqÈÿjõY¯–z®í¥þÉ}¯žínL„
− .git/objects/c0/f9a2c81ce54e952d2c2345e8181cbd1fad4e5e

binary file changed (355 → absent bytes)

− .git/objects/c1/0871f26e532d8caecda1aaa201b3e8dc9e14a9

binary file changed (4866 → absent bytes)

− .git/objects/c1/ce7c80babe62e96ed94b9f0a408ff1fa1fa8b0

binary file changed (1137 → absent bytes)

− .git/objects/c2/71a1a77c1de0661216fa046482d63798131c7d

binary file changed (142866 → absent bytes)

− .git/objects/c4/441dcae1ecbcf7950a80c92988f2e2e11fa204

binary file changed (15615 → absent bytes)

− .git/objects/c6/8c3a9f599e56b40150c0f49e8ee9bd86f3341a

binary file changed (715 → absent bytes)

− .git/objects/c8/5202f17668f31b25d58e0868e6da237523220b

binary file changed (8225 → absent bytes)

+ .git/objects/cd/8008b8f1f22e4ae847ff7bf4bc2b2ef134ef5e view

binary file changed (absent → 136 bytes)

− .git/objects/cd/bcf48274b5ddfec1701e1002ccc9a53cfb5757

binary file changed (244 → absent bytes)

− .git/objects/ce/8098efc2f498451b940e76ce332d69d455e46a

binary file changed (1549 → absent bytes)

− .git/objects/d2/68f5a8f9eeddb031e901170352e31333b42733

binary file changed (82 → absent bytes)

− .git/objects/d2/72327d92a665b172ef4cfaaf7a5c20d5db5b90

binary file changed (5131 → absent bytes)

+ .git/objects/d2/7e2ddbce03ebd0f545186f1a6c4fe4c5320ebc view

binary file changed (absent → 416 bytes)

− .git/objects/d2/b862f369c5ac596bf5f12063d78d6b8a6ee225

binary file changed (3975 → absent bytes)

− .git/objects/d4/e9a886282e7e315d542bc3b0208502d803f9e5

binary file changed (244 → absent bytes)

− .git/objects/d6/c9fe4be81a410e45321d76540ae1f4b80b1ba4

binary file changed (244 → absent bytes)

− .git/objects/d9/65d92c5335eadacaf9a72230f79d4dff573b27

binary file changed (108550 → absent bytes)

− .git/objects/db/c4cd70d46015b2e76f28354b4f938d2cd070ff

binary file changed (297 → absent bytes)

− .git/objects/dc/354a20d31288878085d56b43ebfe3aa820522a

binary file changed (244 → absent bytes)

+ .git/objects/dd/c626e76756b7bec1f4e4ea43cca1c68f354c19 view

binary file changed (absent → 242 bytes)

− .git/objects/df/0bbaa2086cf56f42500389a0bff5d532e7fc63

binary file changed (23317 → absent bytes)

− .git/objects/e3/836fe2cf6a77d8ec3d8a7bbbe3822251fb5ed9
@@ -1,1 +0,0 @@-x­SÁnÓ@“@ˆ"õ€qé66	¤œ,5ˆ©4"=õ²ØÉ&]ՎÃzSÑ=q@|„¸ò|0»öÆ6J9@Vڙ7Oo_v=“8Éb×ëööaòùèõøoPˆd¤ÁW†ïÈ$’QM n£ÏÜzmá`ø•Äynˆ¿„Z'š†ê¥—=Š~Á^×VWgý»{Þó†àVŸÖø5Dµâq
khÞ-ùV™_.%íú¤Cz»a¾ßžª~ØúÏ..ޞѬŠ„Çä(„åaL¯Ü>ñ‰_Qp±71Þ2Hß½àvVœ‹h·O0^7¨³Bdʆ•^?̜itn‰‚6ñA‰õùV£÷ú½-ûèR¥S½ï׌&À¨»]­zÏõwZëSëwÛhšý²n¶zR[ÎmK7²WVú>z(q"1Ì÷’©4ñuÚ½ÒdÈèo]i¾!ã6˜íÂ9ëü¢ÁP¬Ì7"‚%DdPö#¥Œ¼÷¯#šY')ÍåŒÏ¹¤vHTê+ÞQ¼§ÒbœN՟Uiyx¬¸©ÿ;NÕDŠ£l²LX—Æ—’å«¡ý·ûԟÒq’åKÁ6géoúŽÞæï¸rœUº<¥øoWüärÁrz"ÞD)Ñq6§|>Í`­ªèH%ú
ÈNÉ
− .git/objects/e4/c9ce6d2f62995a25daa505e8211cf7b355dbf4

binary file changed (222 → absent bytes)

− .git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391

binary file changed (15 → absent bytes)

− .git/objects/e8/c5a5240e5527d9c7bd817744a3c0961ca5d8d5

binary file changed (6909 → absent bytes)

− .git/objects/e9/5fe8336982a811e3ddc1e3fcf64f5a3767ac1b

binary file changed (1161 → absent bytes)

− .git/objects/ee/5e4a1390a0d0f1e9d0ce02680a74f952b32955

binary file changed (242 → absent bytes)

− .git/objects/ef/06402d714aa53dae0ba9c74b68d8b4ddea1329
@@ -1,3 +0,0 @@-x•ޱNÄ0D©ý[BAd'qKAʼn‚/X¯×$RbۗÓý=ÉÁPÍJ3³ó(.ËT éä]IÌ@Βo‡ºo­vÎ3©^*VRÖDdP7ä­îu/VL-ԍ•ž;e|ܪºaoúÎ9S-)EJšžË¸®O7Ù¾_—L¸rµÏ Z£»Fk9À£ÔR-ºÑþoO¼1®°qÊS@#†/v•§˜ÓAþçfˆÆ#âpžã…Üÿv2”§ÉMïÕ<fÀà¡Å¯š8?TðY^¡ =ÆÒŽœ÷¡%nû3Ÿâ¯g7Åj̕øKÊxR
− .git/objects/f0/ad62e4e42168fd3ab7e5945083d01e058c6231

binary file changed (7502 → absent bytes)

− .git/objects/f2/773f0019369b986b4ff6750d919fca7e9294fa

binary file changed (243 → absent bytes)

− .git/objects/f5/06729c57606b06dadd36d037346bbaf4cd92bf

binary file changed (136 → absent bytes)

− .git/objects/f8/214bd47c4577ee917f6f53f61fc6a12422a996

binary file changed (158 → absent bytes)

− .git/objects/f9/918de49c23fa56c9da20dcf3fd47ce0cf37b99

binary file changed (244 → absent bytes)

− .git/objects/ff/910b318efc137a01b3fd719c0c603c06260935

binary file changed (27874 → absent bytes)

+ .git/objects/pack/pack-31bc5dbdb1840b806280b803877068804417e223.idx view

binary file changed (absent → 12020 bytes)

+ .git/objects/pack/pack-31bc5dbdb1840b806280b803877068804417e223.pack view

file too large to diff

− .git/objects/pack/pack-9b722e175e2c2aebda7ff55a097590198546bb01.idx

binary file changed (8212 → absent bytes)

− .git/objects/pack/pack-9b722e175e2c2aebda7ff55a097590198546bb01.pack

file too large to diff

.git/packed-refs view
@@ -1,2 +1,2 @@-# pack-refs with: peeled fully-peeled -23b0fe619f7f91be4123ef976dd9284c11c1093a refs/remotes/origin/master+# pack-refs with: peeled fully-peeled sorted +8d88f6d82046f105cdce1bd722df40f1c77c7a7b refs/remotes/origin/master
.git/refs/heads/master view
@@ -1,1 +1,1 @@-77a0936d0edcb6a31830b464e6cc3eb066beffa9+d27e2ddbce03ebd0f545186f1a6c4fe4c5320ebc
.git/refs/remotes/origin/master view
@@ -1,1 +1,1 @@-77a0936d0edcb6a31830b464e6cc3eb066beffa9+d27e2ddbce03ebd0f545186f1a6c4fe4c5320ebc
Euterpea.cabal view
@@ -1,13 +1,13 @@ name:           Euterpea
-version:        2.0.5
+version:        2.0.6
 Cabal-Version:  >= 1.8
 license:        BSD3
 license-file:	License
 copyright:      Copyright (c) 2008-2017 Euterpea authors
-category:       Sound
+category:       Sound, Music
 stability:      experimental
 build-type:     Custom
-author:         Paul Hudak <paul.hudak@yale.edu>, 
+author:         Paul Hudak <paul.hudak@yale.edu>,
                 Eric Cheng <eric.cheng@aya.yale.edu>,
                 Hai (Paul) Liu <hai.liu@aya.yale.edu>,
                 Donya Quick <donyaquick@gmail.com>,
@@ -17,15 +17,15 @@ homepage:       http://www.euterpea.com
 synopsis:       Library for computer music research and education
 description:
-        Euterpea is a domain-specific language embedded in Haskell for 
+        Euterpea is a domain-specific language embedded in Haskell for
         computer music research, education, and development, providing
         both note-level and signal-level abstractions.  It is a descendant
         of Haskore and HasSound, and is intended for both educational purposes
-        as well as serious computer music applications.  Euterpea is a 
-        wide-spectrum DSL, suitable for high-level music representation, 
-        algorithmic composition, and analysis; mid-level concepts such as 
+        as well as serious computer music applications.  Euterpea is a
+        wide-spectrum DSL, suitable for high-level music representation,
+        algorithmic composition, and analysis; mid-level concepts such as
         MIDI; and low-level audio processing, sound synthesis, and instrument
-        design.  
+        design.
 extra-source-files:
         ReadMe.txt
 
@@ -33,7 +33,7 @@   hs-source-dirs: .
   ghc-options: -O2 -funbox-strict-fields -fexcess-precision
   extensions: CPP
-  exposed-modules: 
+  exposed-modules:
         Euterpea,
         Euterpea.Music,
         Control.Arrow.ArrowP,
@@ -46,7 +46,7 @@         Euterpea.IO.Audio.CSound,
         Euterpea.IO.Audio,
         Euterpea.IO.MIDI.MEvent,
-        Euterpea.IO.MIDI.MidiIO, 
+        Euterpea.IO.MIDI.MidiIO,
         Euterpea.IO.MIDI.FromMidi,
         Euterpea.IO.MIDI.FromMidi2,
         Euterpea.IO.MIDI.GeneralMidi,
@@ -57,15 +57,15 @@         Euterpea.IO.MIDI
   other-modules:
   build-depends:
-        base >= 4 && < 5, 
-        arrows >= 0.4 && < 0.5, 
-        array>=0.5.0.0 && <=0.6, 
-        deepseq>=1.3.0.2 && <=1.5, 
+        base >= 4 && < 5,
+        arrows >= 0.4 && < 0.5,
+        array>=0.5.0.0 && <=0.6,
+        deepseq>=1.3.0.2 && <=1.5,
         random>=1.0.1.1 && <=1.2,
-        PortMidi==0.1.6.1, 
-        HCodecs == 0.5.1, 
-        stm >= 2.4 && <2.5, 
-        containers>=0.5.5.1 && <0.6, 
+        PortMidi==0.1.6.1,
+        HCodecs == 0.5.1,
+        stm >= 2.4 && <2.5,
+        containers>=0.5.5.1 && <0.6,
         bytestring>=0.10.4.0 && <= 0.10.9,
-        heap >= 1.0 && < 2.0, 
+        heap >= 1.0 && < 2.0,
         ghc-prim
Euterpea/IO/MIDI/Play.lhs view
@@ -115,10 +115,26 @@ >     threadDelay $ round (closeDelay p * 1000000)
 >     terminateMidi
 >     return () where
->     resolveOutDev Nothing = unsafeOutputID 0
->     resolveOutDev (Just x) = x
 >     handleCtrlC :: IO a -> IO a
->     handleCtrlC op = onException op (stopMidiOut (resolveOutDev $ devID p) 16)
+>     handleCtrlC op = do
+>         dev <- resolveOutDev (devID p)
+>         onException op (stopMidiOut (dev) 16)
+
+Bug fix on Sept 24, 2018: on Mac, the default output device may not be zero.
+In rare cases on Mac, there are outputs but the default ID is Nothing, but
+in these cases the default always seems to be the first output in the list.
+
+> resolveOutDev Nothing = do
+>    outDevM <- getDefaultOutputDeviceID
+>    (ins,outs) <- getAllDevices
+>    let allOutDevs = map fst outs
+>    let outDev = case outDevM of
+>                     Nothing ->
+>                            if null allOutDevs then error "No MIDI outputs!"
+>                            else head allOutDevs
+>                     Just x -> unsafeOutputID x
+>    return outDev
+> resolveOutDev (Just x) = return x
 
 > stopMidiOut :: OutputDeviceID -> Channel -> IO ()
 > stopMidiOut dev i = if i<0 then threadDelay 1000000 >> terminateMidi else do