missed files

This commit is contained in:
Seth Call 2024-08-11 22:10:47 -05:00
parent c907d9c3ba
commit e55ad12b61
7 changed files with 297 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -0,0 +1,174 @@
(function(context,$) {
"use strict";
context.JK = context.JK || {};
var downloads = {};
var isCongratulations;
var downloadUris = {}; // map of platform > uri
var rest = context.JK.Rest();
function selectPlatform(selectedPlatform) {
//console.log("selectedPlatform", selectedPlatform);
var platformName; // mac, windows, linux
var platformDisplay; // Mac, Windows, Linux
var platform = selectedPlatform; //MacOSX, Win32, Unix
var platformName1, platformName2, platform1, platform2, platformDisplay1, platformDisplay2;
var uri = downloadUris[selectedPlatform];
// prepare template varaibles
if (selectedPlatform == "Unix") {
platformName = "linux";
platformDisplay = "Linux"
platformName1 = "mac_intel";
platformDisplay1 = "Mac/Intel";
platformName2 = "windows";
platformDisplay2 = "Windows";
platform1 = "MacOSX";
platform2 = "Win32"
} else if(selectedPlatform == "Win32") {
platformName = "windows";
platformDisplay = "Windows";
platformName1 = "mac_intel";
platformDisplay1 = "Mac/Intel";
platformName2 = "linux"
platformDisplay2 = "Linux";
platform1 = "MacOSX";
platform2 = "Unix";
} else if(selectedPlatform == "MacOSX") {
platformName = "mac_intel";
platformDisplay = "Mac/Intel";
platformName1 = "windows";
platformDisplay1 = "Windows";
platformName2 = "linux";
platformDisplay2 = "Linux";
platform1 = "Win32";
platform2 = "Unix";
}
else {
alert("unknown platform: " + selectedPlatform);
}
var options = {
platform : platform,
platformName : platformName,
platformDisplay : platformDisplay,
platformName1 : platformName1,
platformDisplay1 : platformDisplay1,
platformName2 : platformName2,
platformDisplay2 : platformDisplay2,
platform1: platform1,
platform2: platform2,
uri : uri ? uri : '#',
isCongratulations : isCongratulations
};
var blurb = $(context._.template($('#client-download-legacy-blurb-contents').html(), options, { variable: 'data' }));
// isolate active image for blurb
$('div.hidden-images img[data-purpose=' + platformName + ']', blurb).remove().appendTo($('a.current-os-download', blurb));
var selectOthers = $(context._.template($('#client-download-legacy-select-others').html(), options, { variable: 'data' }));
// isolate active images for selectOthers
$('div.hidden-images img[data-purpose=' + platformName1 + ']', selectOthers).remove().appendTo($('a[data-order=1]', selectOthers));
$('div.hidden-images img[data-purpose=' + platformName2 + ']', selectOthers).remove().appendTo($('a[data-order=2]', selectOthers));
// install click handler for change selection
$('a.choose-other-platform', selectOthers).click(function() {
var platform = $(this).attr('data-platform');
selectPlatform(platform);
return false;
});
$('a', blurb).click(function() {
//console.log("download clicked");
var clicked = $(this);
var href = clicked.attr('href');
if(href != "#") {
context.JK.GA.trackDownload(clicked.attr('data-platform'));
rest.userDownloadedClient().always(function() {
$('body').append('<iframe class="downloading" src="' + clicked.attr('href') + '" style="display:none"/>')
});
}
else {
// if there is no download available, apologize to the user
alert("Sorry, this download is not currently available.");
return false;
}
return false;
});
// update blurb
$('body.web .downloads-blurb').empty().append(blurb);
context.JK.popExternalLinks(blurb);
// update the 'download other platforms' buttons
$('body.web .downloads-container').empty().append(selectOthers);
// update system requirements
if($('#client-download-legacy-system-requirements').length){
var systemRequirements = $(context._.template($('#client-download-legacy-system-requirements').html(), options, { variable: 'data' }));
$('body.web .system-requirements').empty().append(systemRequirements);
}
$('body.web .system-requirements ul').hide();
$('body.web .system-requirements ul.' + platformName + '-requirements').show();
$('body.web .system-requirements').show();
}
function removeSpinner() {
$('body.web .spinner-large').remove();
}
function flashCongratulations(friend) {
if(friend) {
context.JK.flash('Congratulations!<br>Soon you can play with ' + friend + '!', {hide:20})
}
else {
context.JK.flash('Congratulations!<br>Your account is ready.', {hide:20})
}
}
function listClients(congratulations, friend) {
isCongratulations = congratulations;
if(isCongratulations) {
flashCongratulations(friend);
}
else {
//flashCongratulations();
}
var rest = context.JK.Rest();
var currentOS = context.JK.detectOS();
var downloads = $('.downloads');
rest.getClientDownloads()
.done(function(data) {
//console.log('getClientDownloads', data);
removeSpinner();
$.each(data, function(key, item) {
var platform = key.substring('JamClient/'.length);
downloadUris[platform] = item.uri;
});
})
.fail(function(jqXHR) {
removeSpinner();
context.JK.app.notify({text: "Currently unable to list client software downloads due to error."});
})
.always(function() {
selectPlatform(currentOS == null ? 'Win32' : currentOS);
});
//console.log('downloadUris', downloadUris);
}
downloads.listClients = listClients;
context.JK.LegacyDownloads = downloads;
})(window, jQuery)

View File

@ -0,0 +1,52 @@
script type="text/template" id="client-download-legacy-blurb-contents"
.downloads
a href="{{data.uri}}" class="current-os-download" data-platform="{{data.platform}}"
.downloads-container
h5 SYSTEM REQUIREMENTS:
| {% if(data.platform == "Win32") { %}
ul.windows-requirements
li Windows 10 or 11 - 64-bit (32-bit not supported)
li 75MB hard disk space for app
li
span External audio interface for audio processing (
a rel="external" href="https://jamkazam.freshdesk.com/support/solutions/articles/66000122514-audio-interfaces-for-windows-computers" see recommendations if you don't have one
span )
li USB 2.0, USB 3.0, or USB-C (not USB 1.1) for audio interface
li Ethernet port and Ethernet cable to connect directly to home router (WiFi not recommended)
li Broadband Internet service with 1Mbps upload bandwidth (3-5Mbps preferred)
| {% } else if(data.platform == "MacOSX") { %}
ul.mac_intel-requirements
li macOS 10.8 (Mountain Lion) or higher, 64-bit
li 75MB hard disk space for app
li
span External audio interface for audio processing (
a rel="external" href="https://jamkazam.freshdesk.com/support/solutions/articles/66000122513-audio-interfaces-for-mac-computers" see recommendations if you don't have one
span )
li USB 2.0, USB 3.0, or USB-C (not USB 1.1) for audio interface
li Ethernet port and Ethernet cable to connect directly to home router (WiFi not recommended)
li Broadband Internet service with 1Mbps upload bandwidth (3-5Mbps preferred)
| {% } else { %}
ul.linux-requirements
li Linux is not yet supported
| {% } %}
.hidden.hidden-images
= image_tag("content/button_download_mac_intel.png", :alt => "download mac intel", :size => "348x92", "data-purpose" => "mac_intel")
= image_tag("content/button_download_windows.png", :alt => "download windows", :size => "348x92", "data-purpose" => "windows")
= image_tag("content/button_download_linux.png", :alt => "download linux", :size => "348x92", "data-purpose" => "linux")
script type="text/template" id="client-download-legacy-select-others"
.download-box
.download-others
span Need a different version?
br
a.choose-other-platform href="#" data-order="1" data-platform="{{data.platform1}}"
| JamKazam for {{data.platformDisplay1}} (legacy version)
br
a href="/downloads"
| Return to download page for current app version

View File

@ -12,7 +12,7 @@
.download-content
.download-entreaty
p You must use the JamKazam app to get into online sessions with other musicions. Click the button below to download the JamKazam app installer. Then double click the installer to run it.
p You must use the JamKazam app to get into online sessions with other musicians. Click the button below to download the JamKazam app installer. Then double click the installer to run it.
.downloads-blurb

View File

@ -0,0 +1,62 @@
// used by congrats_musician, and downloads
- provide(:page_name, "downloads #{@page_context}")
.w100.download-container.legacy
.download-app
.spinner-large
h2.create-account-header
.badge-number 3
| Download the older legacy JamKazam app
.download-content
.download-entreaty
p
| If you cannot run macOS 10.15 or later, or if you&nbsp;
| are having problems with the current JamKazam app (either Windows or Mac)&nbsp;
| and our support team cannot help you get the current app running well,&nbsp;
| then you can (for now) fall back to running the older legacy version of the JamKazam&nbsp;
| app. Click the button below to download the older app installer, and then double click the&nbsp;
| installer to install the app.
.downloads-blurb
.jamtracks
h2.shop-jamtracks
.badge-number 4
| Get your free JamTrack
span.special-value
| &nbsp; ($2.99 value)
.jamtrack-content
.jamtrack-entreaty
p JamTracks are multi-track pro recordings you can use to:
ul
li Solo any part to hear and learn it
li Mute the part you want to play, and play along with the rest
li Make audio recordings and share them via Facebook or URL
li Make video recordings and share them via YouTube or URL
li Go online to play real time sessions, with others playing parts
p
| Watch the video below to learn more. Then click the button to shop
| &nbsp;for your first JamTrack - free! Add it to your shopping cart, and we'll
| &nbsp;make it free during the checkout process. Free offer good for 1 week only!
.video-container
- if !Rails.env.test?
iframe src="//www.youtube.com/embed/askHvcCoNfw" frameborder="0" allowfullscreen="allowfullscreen"
a.go-jamtrack-shopping href="/client#/jamtrack/search" rel="external"
| Shop for free
br
| JamTrack now!
br clear="all"
= render "users/download_legacy_templates"

View File

@ -0,0 +1,8 @@
<% provide(:title, 'Legacy Downloads') %>
<% provide(:description, 'Download the legacy JamKazam app for Windows or Mac to play music online with others.') %>
<%= render "users/downloads_legacy" %>
<script type="text/javascript">
$(function() { window.JK.LegacyDownloads.listClients(false) } );
</script>