diff --git a/ruby/lib/jam_ruby/jam_track_importer.rb b/ruby/lib/jam_ruby/jam_track_importer.rb index 71eae6fae..c6a6549b3 100644 --- a/ruby/lib/jam_ruby/jam_track_importer.rb +++ b/ruby/lib/jam_ruby/jam_track_importer.rb @@ -3276,7 +3276,7 @@ module JamRuby meta = load_metalocation(metalocation) - if meta.nil? && is_tency_storage? + if meta.nil? && is_paris_storage? raise "no tency song matching this metalocation #{metalocation}" end jam_track_importer = nil diff --git a/web/app/assets/images/landing/arrow-jamblaster-order.png b/web/app/assets/images/landing/arrow-jamblaster-order.png new file mode 100644 index 000000000..50e0495ec Binary files /dev/null and b/web/app/assets/images/landing/arrow-jamblaster-order.png differ diff --git a/web/app/assets/images/landing/broadcast_video.png b/web/app/assets/images/landing/broadcast_video.png new file mode 100644 index 000000000..b3a281b60 Binary files /dev/null and b/web/app/assets/images/landing/broadcast_video.png differ diff --git a/web/app/assets/images/landing/find_musicians.png b/web/app/assets/images/landing/find_musicians.png new file mode 100644 index 000000000..b2160ba9d Binary files /dev/null and b/web/app/assets/images/landing/find_musicians.png differ diff --git a/web/app/assets/images/landing/online_lessons.png b/web/app/assets/images/landing/online_lessons.png new file mode 100644 index 000000000..7e4da04ec Binary files /dev/null and b/web/app/assets/images/landing/online_lessons.png differ diff --git a/web/app/assets/images/landing/phone_control_jamblaster.png b/web/app/assets/images/landing/phone_control_jamblaster.png new file mode 100644 index 000000000..4b28201e1 Binary files /dev/null and b/web/app/assets/images/landing/phone_control_jamblaster.png differ diff --git a/web/app/assets/images/landing/preorder_jamblaster.png b/web/app/assets/images/landing/preorder_jamblaster.png new file mode 100644 index 000000000..932f2089e Binary files /dev/null and b/web/app/assets/images/landing/preorder_jamblaster.png differ diff --git a/web/app/assets/images/landing/recording_with_video.png b/web/app/assets/images/landing/recording_with_video.png new file mode 100644 index 000000000..b07fbe180 Binary files /dev/null and b/web/app/assets/images/landing/recording_with_video.png differ diff --git a/web/app/assets/images/landing/us_latency_diagram.png b/web/app/assets/images/landing/us_latency_diagram.png new file mode 100644 index 000000000..6dddd6256 Binary files /dev/null and b/web/app/assets/images/landing/us_latency_diagram.png differ diff --git a/web/app/assets/images/web/button_cta_jamblaster.png b/web/app/assets/images/web/button_cta_jamblaster.png index aed1fab4a..932f2089e 100644 Binary files a/web/app/assets/images/web/button_cta_jamblaster.png and b/web/app/assets/images/web/button_cta_jamblaster.png differ diff --git a/web/app/assets/javascripts/jquery.trackEffects.js b/web/app/assets/javascripts/jquery.trackEffects.js index b0a15c74e..1fb34f8ea 100644 --- a/web/app/assets/javascripts/jquery.trackEffects.js +++ b/web/app/assets/javascripts/jquery.trackEffects.js @@ -65,9 +65,17 @@ timeout = null; } waitForBubbleHover($(container)) - timeout = setTimeout(function() {$parent.btOff()}, 3000) + timeout = setTimeout(function() {/**$parent.btOff()*/}, 3000) } }); + + $parent.hoverIntent({ + over: function() { + $parent.btOn(); + }, + out: function() { + + }}); }); } diff --git a/web/app/assets/javascripts/react-components.js b/web/app/assets/javascripts/react-components.js index cfc88f9ff..ee980b48e 100644 --- a/web/app/assets/javascripts/react-components.js +++ b/web/app/assets/javascripts/react-components.js @@ -3,6 +3,7 @@ //= require_directory ./react-components/helpers //= require_directory ./react-components/actions //= require ./react-components/stores/AppStore +//= require ./react-components/stores/PlatformStore //= require ./react-components/stores/BrowserMediaStore //= require ./react-components/stores/RecordingStore //= require ./react-components/stores/VideoStore @@ -17,7 +18,6 @@ //= require ./react-components/stores/SessionMyTracksStore //= require ./react-components/stores/SessionOtherTracksStore //= require ./react-components/stores/SessionMediaTracksStore -//= require ./react-components/stores/PlatformStore //= require ./react-components/stores/VideoUploaderStore //= require ./react-components/stores/JamTrackPlayerStore //= require_directory ./react-components/stores diff --git a/web/app/assets/javascripts/react-components/ConfigureLiveTracksDialog.js.jsx.coffee b/web/app/assets/javascripts/react-components/ConfigureLiveTracksDialog.js.jsx.coffee index a7a6ce34b..44436da27 100644 --- a/web/app/assets/javascripts/react-components/ConfigureLiveTracksDialog.js.jsx.coffee +++ b/web/app/assets/javascripts/react-components/ConfigureLiveTracksDialog.js.jsx.coffee @@ -216,8 +216,11 @@ ConfigureTracksStore = @ConfigureTracksStore if isAudio activeElement = @renderAudio() + scanHelpRight = `Don't see your plug-in in the list above?` else activeElement = @renderMidi() + scanHelpLeft = `Don't see your plug-in in the list above?` + if !@state.configureTracks?.newTrack action = 'CLOSE' @@ -225,7 +228,6 @@ ConfigureTracksStore = @ConfigureTracksStore else cancelBtn = `CANCEL` - scanHelp = `Don't see your plug-in in the list above?` `
+ The ability to play live together from different locations enables many new possibilities including: +
++ Latency issues have historically prevented musicians from playing together over the Internet, but the + JamBlaster and JamKazam's patent pending software innovations have brought this dream to life. +
+ ++ To demonstrate the kind of live distributed performances that are possible with the JamBlaster, we flew + the members of the band Big Cat to Austin TX, Atlanta GA, Chicago IL, and Brooklyn NY, and had them play + together using a JamBlaster at each location. They played from the homes of friends in those cities + using normal consumer Internet connections. We used a headphone splitter to record the audio that + Malford (singer) heard in real-time while singing, so you can hear exactly what he heard while + performing. Watch the video below to see and hear it! +
+ ++ The JamBlaster delivers professional quality audio recording, and enables a number of very handy recording scenarios. +
+ ++ Plug your instruments and/or microphones into the JamBlaster, and you are ready to record. The JamBlaster automatically records both a master mix and the individual fully isolated stems/tracks from each audio input port, and these audio recordings are saved to the JamBlaster, so they don't use up precious storage space on your smartphone, tablet, or computer. When your recording is complete, the audio files are automatically synched and stored in the JamKazam cloud, so that you can access these audio files from any device, anytime, anywhere, and you can easily share them with others if desired. You can also grab the audio files to use in your favorite DAW (e.g. ProTools, Ableton, GarageBand, etc.) for further editing. +
++ In addition to audio, you can easily make recordings that combine and sync audio from the JamBlaster with video from your smartphone or tablet or from a webcam on your computer to create great videos, and the JamKazam app can upload these videos automatically to YouTube for you. +
+ +
+
+ + You can also easily record JamKazam online multiplayer sessions - for example a band rehearsal. When you do this, the recording feature captures the master mix of the combined performance, and also captures the fully isolated audio stems for each musician in the session. When the recording is complete, the high quality stems from all musicians are automatically uploaded to the JamKazam cloud, which then automatically downloads all stems to all musicians who played on the recording. And again in this case, you can easily record video + audio of the full multiplayer session, and upload this to YouTube for easy sharing. Here is an example of a recorded JamKazam session: +
++ Producers and composers can use the JamBlaster to open an audio file of a piece of music (work in progress) and play this audio file to a remote musician, who plays along with this audio file to lay down a new track to add to it. When complete, the remote musician's high quality stem audio file(s) are automatically uploaded and accessible to the producer or composer. +
++ You can even use the JamBlaster like a traditional audio interface by connecting the JamBlaster with a USB cable to your computer, and you can then record through the JamBlaster straight into your favorite recording app, like ProTools, Ableton, GarageBand, etc. +
+ ++ JamKazam has put together a catalog of 4,000+ popular songs - called JamTracks - everything from classic rock to current pop, reggae, country, blues, metal, and a bunch more. What's unique is that these are full multitrack recordings, with each part of the song isolated - lead vocal, backing vocals, lead guitar, rhythm guitar, bass, keys, drums, etc. We have songs with great parts for just about any instrument - violin, mandolin, harmonica, sax, you name it. Click here to search for your favorite songs in our catalog by song name or artist name. Or click here to select your instrument and see the songs with parts for your instrument. +
+With the JamBlaster and JamTracks, you can:
+Here's an example of a YouTube video recording made with a JamTrack by a JamKazam user:
+Your first JamTrack is free, and after that JamTracks are just $1.99 each.
+ +There are compelling reasons that many music teachers and students want to teach and take music lessons online. Unfortunately Skype, Google Hangouts, and similar apps are horrible for music lessons. Latency is far too high for teacher and student to play together, and audio quality is very poor. Plus these apps don't offer features important to lessons, such as using backing audio tracks in sessions, making quality video/audio recordings of lesson demonstrations by the teacher or performances by the student, and so on.
+The JamBlaster delivers the ideal platform for online music lessons, with great audio quality, the lowest possible latency, plug-and-play ease of use, and access to all of the JamKazam features for live music performance. Teachers can reach and effectively teach students across great distances, massively increasing the size of the lesson market opportunity for the teacher. Students can connect with the best teacher for their specific needs, rather than settling for the teacher who lives within a 30-minute drive. And both teacher and student can avoid the wasted time and expense of traveling to and from lessons.
+
+ JamKazam is also currently working to develop an online music lesson marketplace, through which we can connect students to teachers. We plan to launch this marketplace in late Q1 2016.
+ +With the JamBlaster, you can broadcast your musical performances live to family, friends, and fans through YouTube, without understanding codecs, without buying streaming software to integrate with YouTube, and so on. Just click a button to broadcast your session, and the JamBlaster takes care of the rest. It combines the pro quality audio of your performance with video from your smartphone, tablet, or computer webcam, and streams this combined video through YouTube Live. You can even schedule a performance and distribute and promote a URL for the live stream in advance of the event, and you can use multiple webcams to cut between different shots/angles during the live broadcast.
+
+ When we initially built the free JamKazam service to let musicians play together live over the Internet, we started by having musicians use the Mac and Windows computers and audio interfaces they already own. We've signed up 20,000+ musicians along the way. We've analyzed data from more than 100,000 online sessions. And we've collected audio processing latency data on thousands of combinations of computers and interfaces, as well as 10 million Internet latency measurements between unique pairs of locations and ISPs. We've learned a lot from all this data.
+Typically you need to keep total one way latency down to 30 to 35 milliseconds or less in an online session, or the session will get too sloppy and fall apart. We found that the average audio processing latency of industry standard gear is 14 milliseconds (full round trip including analog-to-digital and digital-to-analog conversions). So just processing the audio eats up half of your total latency budget!
+We designed the JamBlaster from the ground up to be the fastest audio processing device possible, and we have the JamBlaster running at 2.8 milliseconds of latency full round trip - a massive latency savings. Every one millisecond saved on audio processing is worth about 100 miles of range on the Internet backbone. The JamBlaster also reduces something called audio processing jitter, which delivers additional latency savings. The result is that the JamBlaster saves audio latency equivalent to about 1,500 miles of distance compared to today's standard computers and interfaces.
+Looking at it another way, using JamKazam with standard computers and interfaces, a musician in the U.S. can play effectively with about 10% of the other musicians in the U.S. With the JamBlaster, that same musician can now play with about 35% of the other musicians in the U.S.
+
+ We also found that many users struggled to get their computers and interfaces working properly. Sometimes the operating system was incompatible. Sometimes interface drivers had problems, or the user couldn't figure out how to configure the driver for low latency. And so on and on. We heard from many musicians that they did not love or understand technology very well, and they wanted something that "just worked". The JamBlaster just works. It contains all the hardware, software, drivers, etc. that are needed. You don't have to install any apps or drivers or configure things. You just plug in your instruments and/or microphones and connect it to your network.
+Finally, we found that many musicians either have ancient computers, or for younger musicians, no computer at all - often just a smartphone or tablet. The JamBlaster is both a computer and an audio interface in one device, so you don't need a computer to use it. You can control it with your iOS or Android smartphone, or with a standard browser running on a tablet or a Windows, Mac, or Linux computer.
+ +It's important to understand that the JamBlaster is both a computer and an audio interface in one highly optimized device. You simply connect your instruments or microphones into the two input ports, connect the JamBlaster to your network, and plug headphones in to hear the music.
+To control the JamBlaster, you can run a companion app either on an iPhone or Android smartphone, or you can use the interface at www.jamkazam.com in a standard browser on a tablet or a Windows, Mac, or Linux computer. The companion app or website talks to the JamBlaster over WiFi to tell it what to do. There are no physical connections needed, so you don't have to worry about compatibility problems with your current (or future) mobile devices and computers.
+
+
+ Latency exists in all music performance environments. The speed of sound is so slow (sound travels 1 foot per millisecond) that two musicians sitting 10 feet away from each other will experience 10 milliseconds of delay, or latency, from the time one plays an instrument until the other hears it. The key to enabling online live music performance is to keep latency so low that it doesn't interfere with the ability to play in sync.
+The Internet backbone is fiber, and data can move across fiber at approximately the speed of light. This is the key to enabling distributed live music performance. With the JamBlaster cutting audio processing latency down so close to zero, all that's left to deal with is Internet latency.
+In the video above where the band Big Cat played together from Austin, Atlanta, Chicago, and Brooklyn, the latency in that online session was equivalent to having the musicians sit about 25 feet away from each other in a room.
+Here's a video that explains a little bit more about latency:
+When you get a JamBlaster, you have a device that you know will "just work". The other thing you need is broadband Internet service. You don't need anything special or unusual. Most home broadband Internet connections today work fine. Here's what to watch for.
+We've found that both cable broadband and fiber broadband Internet services work well, while low-end DSL service sometimes doesn't work well, and satellite/wireless Internet doesn't work due to high latency.
+To play in groups of 4 musicians (audio only), you'll want to have Internet service rated at 1Mbps of uplink/upload bandwidth. To play in groups of 4 musicians (video + audio), you'll want to have Internet service rated at 2.5Mbps of uplink/upload bandwidth. If you're not sure what your upload bandwidth is, we'd recommend you go to www.speedtest.net and run the test there.
+And finally, to play in online, real-time sessions, we recommend avoiding WiFi connections. For the best performance, connect the JamBlaster to your router using an Ethernet cable. If you want to play in a room far away from the room where your home router is located, you can buy a 100-foot Ethernet cable on Amazon for about $10, and then just run it from your router to another room in your house, and then coil it back up and store it when you're done. It's cheap and easy. For recording, live YouTube broadcasts, and JamTracks, WiFi is fine.
+ +If you sing or play an acoustic instrument like a violin, trumpet, or piano, you'll need to use a microphone to capture the audio from your instrument/voice. If you have an electronic instrument like an electric guitar, bass, or keyboard, you can plug a 1/4" TS or XLR connector into either of the two input ports. The JamBlaster can automatically duplicate mono inputs into stereo signals, so you can use just one port per instrument, and still have stereo audio on each instrument/vocal.
+If you are a multi-instrumentalist and need more than 2 input ports, we recommend using a simple analog mixer like a Behringer Xenyx 1002B. You can plug all your gear into the mixer, and then connect the audio outputs from the mixer into the inputs on the JamBlaster. Analog mixers don't add any latency.
+Other than that, you'll need a device that presents the user interface to set up or join sessions, record, and so on. This can either be a smartphone - specifically an iPhone (v8 or later) or Android phone (v4.4 or later). Or you can run a standard browser on a tablet or on a Windows, Mac, or Linux computer. Video services are also provided by your smartphone, tablet, or a computer webcam.
+ +JamKazam has already signed up 20,000+ musicians who play in thousands of online sessions per month using their computers and audio interfaces. The JamBlaster interoperates seamlessly with other musicians who are running Mac and Windows PC setups, so you can jump right in and start playing with other musicians in the community using your JamBlaster from day one.
+
+
+ Following are tech specs on the JamBlaster:
+The JamBlaster had a great run on Kickstarter, as we hit 347% of our Kickstarter revenue goal, but the Kickstarter campaign is over now. We don't have enough cash to have JamBlaster inventory sitting around waiting for orders, so we are using pre-orders to fund our next JamBlaster production run. This is very similar to the way Kickstarter works.
+Simply stated, you can pre-order a JamBlaster now by clicking the white "Pre-order the JamBlaster today!” link on the orange background below and following the on-screen instructions.
+So if you want a JamBlaster, we'd advise you go ahead and place your order now to reserve your place in the next batch.
+We are currently able to ship to customers in the United States, Canada, the European Union (EU), and Australia. If you have any other questions about the JamBlaster, please email us at support@jamkazam.com.
+ +
+
+ + With your smartphone and a JamBlaster, you can: +
+ +