jam-cloud/web/app/views/clients/index.html.erb

358 lines
13 KiB
Plaintext
Raw Normal View History

<div class="curtain" style="width:100%; height:100%; z-index:9999;">
<div class="splash">
<img src="/assets/header/logo.png"/>
<p>Connecting...</p>
</div>
</div>
2013-11-21 06:24:40 +00:00
<div class="dialog-overlay op70" style="display:none; width:100%; height:100%; z-index:99;"></div>
<%= render "header" %>
2013-01-21 05:52:28 +00:00
<%= render "home" %>
<%= render "footer" %>
2014-01-05 03:47:23 +00:00
<%= render "paginator" %>
2013-02-14 07:48:01 +00:00
<%= render "searchResults" %>
<%= render "faders" %>
<%= render "vu_meters" %>
2013-05-16 15:33:04 +00:00
<%= render "ftue" %>
<%= render "jamServer" %>
2014-05-14 20:12:42 +00:00
<%= render "iconInstrumentSelect" %>
2014-11-13 15:20:08 +00:00
<%= render "muteSelect" %>
<%= render "metronome_playback_mode" %>
2014-06-03 21:19:39 +00:00
<%= render "clients/wizard/buttons" %>
<%= render "clients/wizard/gear/gear_wizard" %>
<%= render "clients/wizard/loopback/loopback_wizard" %>
<%= render "terms" %>
2014-04-30 16:44:37 +00:00
<%= render "rateSession" %>
<%= render "alert" %>
2014-06-01 18:45:17 +00:00
<%= render "confirm" %>
<%= render "sidebar" %>
2014-06-01 18:45:17 +00:00
<%= render "scheduledSession" %>
<%= render "findSession" %>
2013-02-07 03:42:51 +00:00
<%= render "session" %>
<%= render "profile" %>
2013-10-27 23:53:49 +00:00
<%= render "bandProfile" %>
2013-11-21 06:24:40 +00:00
<%= render "band_setup" %>
2013-12-15 21:27:11 +00:00
<%= render "band_setup_photo" %>
<%= render "users/feed_music_session_ajax" %>
<%= render "users/feed_recording_ajax" %>
<%= render "jamtrack" %>
<%= render "jamtrack_landing" %>
<%= render "shopping_cart" %>
2015-03-13 14:12:33 +00:00
<%= render "checkout_signin" %>
2015-03-14 19:36:34 +00:00
<%= render "checkout_payment" %>
2015-03-20 13:48:00 +00:00
<%= render "checkout_order" %>
<%= render "order" %>
<%= render "feed" %>
<%= render "bands" %>
<%= render "musicians" %>
<%= render "testBridge" %>
<%= render "account" %>
<%= render "account_identity" %>
<%= render "affiliate_report" %>
<%= render "account_profile" %>
2013-05-23 13:53:37 +00:00
<%= render "account_profile_avatar" %>
2013-07-03 01:41:00 +00:00
<%= render "account_audio_profile" %>
2014-06-15 07:11:34 +00:00
<%= render "account_sessions" %>
<%= render "account_jamtracks" %>
<%= render "account_session_detail" %>
<%= render "account_session_properties" %>
<%= render "inviteMusicians" %>
2014-02-11 04:08:40 +00:00
<%= render "hoverBand" %>
<%= render "hoverFan" %>
<%= render "hoverMusician" %>
<%= render "hoverRecording" %>
<%= render "hoverSession" %>
<%= render "notify" %>
<%= render "client_update" %>
<%= render "overlay_small" %>
<%= render "listenBroadcast" %>
<%= render "sync_viewer_templates" %>
2015-02-27 17:51:45 +00:00
<%= render "download_jamtrack_templates" %>
<%= render "jam_track_preview" %>
2014-01-05 03:47:23 +00:00
<%= render "help" %>
<%= render 'dialogs/dialogs' %>
<div id="fb-root"></div>
<script type="text/javascript">
$(function() {
JK = JK || {};
2012-11-13 04:12:17 +00:00
2014-05-19 21:57:08 +00:00
JK.root_url = gon.root_url
// If no trackVolumeObject (when not running in native client)
// create a fake one.
if (!(window.trackVolumeObject)) {
window.trackVolumeObject = {
bIsMediaFile: false,
broadcast: false,
clientID: "",
instrumentID: "",
master: false,
monitor: false,
mute: false,
name: "",
objectName: "",
record: false,
volL: 0,
volR: 0,
wigetID: ""
};
}
<% if current_user %>
JK.currentUserId = '<%= current_user.id %>';
2014-02-05 06:51:26 +00:00
JK.currentUserAvatarUrl = JK.resolveAvatarUrl('<%= current_user.photo_url %>');
JK.currentUserName = '<%= current_user.name %>';
JK.currentUserMusician = '<%= current_user.musician %>';
JK.currentUserAdmin = <%= current_user.admin %>;
<% else %>
JK.currentUserId = null;
2014-02-05 06:51:26 +00:00
JK.currentUserAvatarUrl = null;
JK.currentUserName = null;
JK.currentUserMusician = null;
JK.currentUserAdmin = false;
<% end %>
2012-11-13 04:12:17 +00:00
2014-04-09 17:25:52 +00:00
// Some things can't be initialized until we're connected. Put them here.
2014-04-09 17:25:52 +00:00
function _initAfterConnect(connected) {
if (this.didInitAfterConnect) return;
this.didInitAfterConnect = true
2014-06-27 19:17:56 +00:00
// This is a helper class with a singleton. No need to instantiate.
JK.GenreSelectorHelper.initialize(JK.app);
var recordingManager = new JK.RecordingManager(JK.app);
2014-03-25 15:29:08 +00:00
var acceptFriendRequestDialog = new JK.AcceptFriendRequestDialog(JK.app);
var header = new JK.Header(JK.app);
JK.Header = header;
header.initialize();
2013-11-21 06:24:40 +00:00
var sidebar = new JK.Sidebar(JK.app);
acceptFriendRequestDialog.initialize(sidebar);
sidebar.initialize(JK.InvitationDialogInstance, JK.TextMessageDialogInstance);
2014-06-27 19:17:56 +00:00
var editRecordingDialog = new JK.EditRecordingDialog(JK.app);
editRecordingDialog.initialize();
var recordingFinishedDialog = new JK.RecordingFinishedDialog(JK.app);
recordingFinishedDialog.initialize();
var localRecordingsDialog = new JK.LocalRecordingsDialog(JK.app);
localRecordingsDialog.initialize();
2012-11-11 20:34:05 +00:00
2015-01-09 02:35:39 +00:00
var openJamTrackDialog = new JK.OpenJamTrackDialog(JK.app);
openJamTrackDialog.initialize();
2015-01-16 02:28:34 +00:00
var openBackingTrackDialog = new JK.OpenBackingTrackDialog(JK.app);
openBackingTrackDialog.initialize();
var configureTracksDialog = new JK.ConfigureTracksDialog(JK.app);
configureTracksDialog.initialize();
var networkTestDialog = new JK.NetworkTestDialog(JK.app);
networkTestDialog.initialize();
var jamtrackAvailabilityDialog = new JK.JamtrackAvailabilityDialog(JK.app);
jamtrackAvailabilityDialog.initialize();
var jamtrackLicenseDialog = new JK.JamtrackLicenseDialog(JK.app);
jamtrackLicenseDialog.initialize();
var jamtrackPaymentHistoryDialog = new JK.JamtrackPaymentHistoryDialog(JK.app);
jamtrackPaymentHistoryDialog.initialize();
var audioProfileInvalidDialog = new JK.AudioProfileInvalidDialog(JK.app);
audioProfileInvalidDialog.initialize();
var clientUpdate = new JK.ClientUpdate(JK.app);
JK.ClientUpdateInstance = clientUpdate;
clientUpdate.initialize();
var homeScreen = new JK.HomeScreen(JK.app);
homeScreen.initialize();
2013-04-17 04:46:43 +00:00
var profileScreen = new JK.ProfileScreen(JK.app);
profileScreen.initialize(JK.TextMessageDialogInstance);
2013-04-17 04:46:43 +00:00
2013-10-28 01:50:31 +00:00
var bandProfileScreen = new JK.BandProfileScreen(JK.app);
bandProfileScreen.initialize();
var accountScreen = new JK.AccountScreen(JK.app);
accountScreen.initialize();
var accountIdentityScreen = new JK.AccountIdentityScreen(JK.app);
accountIdentityScreen.initialize();
2014-06-15 07:11:34 +00:00
var accountSessionsScreen = new JK.AccountSessions(JK.app);
accountSessionsScreen.initialize();
var accountJamTracksScreen = new JK.AccountJamTracks(JK.app);
accountJamTracksScreen.initialize();
var accountSessionDetailScreen = new JK.AccountSessionDetail(JK.app);
accountSessionDetailScreen.initialize(JK.InvitationDialogInstance);
var accountSessionPropertiesScreen = new JK.AccountSessionProperties(JK.app);
accountSessionPropertiesScreen.initialize();
var affiliateReportScreen = new JK.AffiliateReportScreen(JK.app);
affiliateReportScreen.initialize();
var accountProfileScreen = new JK.AccountProfileScreen(JK.app);
accountProfileScreen.initialize();
2013-05-23 13:53:37 +00:00
var accountProfileAvatarScreen = new JK.AccountProfileAvatarScreen(JK.app);
accountProfileAvatarScreen.initialize(JK.UserDropdown);
2013-05-23 13:53:37 +00:00
2013-07-03 01:41:00 +00:00
var accountAudioProfile = new JK.AccountAudioProfile(JK.app);
accountAudioProfile.initialize();
2013-02-14 07:48:01 +00:00
var searchResultScreen = new JK.SearchResultScreen(JK.app);
searchResultScreen.initialize();
2014-06-01 18:45:17 +00:00
var instrumentSelectorInstance = new JK.InstrumentSelector(JK.app);
instrumentSelectorInstance.initialize(false);
var instrumentSelectorRSVPInstance = new JK.InstrumentSelector(JK.app);
instrumentSelectorRSVPInstance.initialize(true);
var createScheduledSessionScreen = new JK.CreateScheduledSession(JK.app);
createScheduledSessionScreen.initialize(
JK.InvitationDialogInstance,
JK.FriendSelectorDialogInstance,
2014-06-01 18:45:17 +00:00
instrumentSelectorInstance,
instrumentSelectorRSVPInstance
);
2013-11-21 06:24:40 +00:00
var bandSetupScreen = new JK.BandSetupScreen(JK.app);
bandSetupScreen.initialize(JK.InvitationDialogInstance, JK.FriendSelectorDialogInstance);
2013-12-15 21:27:11 +00:00
var bandSetupPhotoScreen = new JK.BandSetupPhotoScreen(JK.app);
bandSetupPhotoScreen.initialize();
var feedScreen = new JK.FeedScreen(JK.app);
feedScreen.initialize();
var findSessionScreen = new JK.FindSessionScreen(JK.app);
2014-06-21 20:16:39 +00:00
findSessionScreen.initialize();
// var sessionLatency = null;
// if ("jamClient" in window) {
// sessionLatency = new JK.SessionLatency(window.jamClient);
// }
// findSessionScreen.initialize(sessionLatency);
var jamtrackScreen = new JK.JamTrackScreen(JK.app);
jamtrackScreen.initialize();
var jamtrackLanding = new JK.JamTrackLanding(JK.app);
jamtrackLanding.initialize();
var shoppingCartScreen = new JK.ShoppingCartScreen(JK.app);
shoppingCartScreen.initialize();
var checkoutSignInScreen = new JK.CheckoutSignInScreen(JK.app);
checkoutSignInScreen.initialize();
2015-03-14 19:36:34 +00:00
var checkoutPaymentScreen = new JK.CheckoutPaymentScreen(JK.app);
2015-03-20 13:48:00 +00:00
checkoutPaymentScreen.initialize();
var checkoutOrderScreen = new JK.CheckoutOrderScreen(JK.app);
checkoutOrderScreen.initialize();
2015-03-14 19:36:34 +00:00
// var OrderScreen = new JK.OrderScreen(JK.app);
// OrderScreen.initialize();
2013-11-04 14:47:30 +00:00
var findMusicianScreen = new JK.FindMusicianScreen(JK.app);
findMusicianScreen.initialize(JK.TextMessageDialogInstance);
2013-11-04 14:47:30 +00:00
2013-12-16 18:31:12 +00:00
var findBandScreen = new JK.FindBandScreen(JK.app);
findBandScreen.initialize();
var sessionScreen = new JK.SessionScreen(JK.app);
sessionScreen.initialize(localRecordingsDialog, recordingFinishedDialog, JK.FriendSelectorDialogInstance);
2014-01-05 03:47:23 +00:00
var sessionSettingsDialog = new JK.SessionSettingsDialog(JK.app, sessionScreen);
sessionSettingsDialog.initialize();
var adjustGearSpeed = new JK.AdjustGearSpeedDialog(JK.app);
adjustGearSpeed.initialize();
2014-06-03 21:19:39 +00:00
var loopbackWizard = new JK.LoopbackWizard(JK.app);
loopbackWizard.initialize();
2013-01-12 02:46:36 +00:00
2014-04-03 14:11:23 +00:00
var gearWizard = new JK.GearWizard(JK.app);
gearWizard.initialize(loopbackWizard, adjustGearSpeed);
2014-06-03 21:19:39 +00:00
var testBridgeScreen = new JK.TestBridgeScreen(JK.app);
testBridgeScreen.initialize();
2014-09-22 19:20:58 +00:00
var changeSearchLocationDialog = new JK.ChangeSearchLocationDialog(JK.app);
changeSearchLocationDialog.initialize();
var allSyncsDialog = new JK.AllSyncsDialog(JK.app);
allSyncsDialog.initialize();
// do a client update early check upon initialization
JK.ClientUpdateInstance.check()
JK.app.initialRouting();
JK.hideCurtain(300);
}
JK.app = JK.JamKazam();
2014-05-19 21:57:08 +00:00
var jamServer = new JK.JamServer(JK.app, function(event_type) {JK.app.activeElementEvent(event_type)});
2014-04-09 17:25:52 +00:00
jamServer.initialize();
// latency_tester does not want to be here - redirect it
if(window.jamClient.getOperatingMode && window.jamClient.getOperatingMode() == "server") {
2014-05-22 16:26:56 +00:00
window.location = "/latency_tester";
return;
2014-05-19 13:46:03 +00:00
}
JK.RecordingUtils.init();
JK.app.initialize();
// Let's get things rolling...
if (JK.currentUserId) {
JK.JamServer.registerMessageCallback(JK.MessageType.CLIENT_UPDATE, function(header, payload) {
// do a client update early check upon initialization
JK.ClientUpdateInstance.runCheck(payload.product, payload.version, payload.uri, payload.size)
});
JK.TickDuration('.feed-entry.music-session-history-entry .inprogress .tick-duration');
2014-04-09 17:25:52 +00:00
JK.JamServer.connect() // singleton here defined in JamServer.js
.done(function() {
_initAfterConnect(true);
})
.fail(function() {
_initAfterConnect(false);
});
// this ensures that there is always a CurrentSessionModel, even if it's for a non-active session
JK.CurrentSessionModel = new JK.SessionModel(JK.app, JK.JamServer, window.jamClient, null);
}
else {
_initAfterConnect(false);
}
2014-02-11 04:08:40 +00:00
JK.bindHoverEvents();
})
</script>
<!-- version info: <%= version %> -->