Qtractorqtractor

Qtractorqtractor

LAC2015@JGU-MainzLAC2015@JGU-Mainz TenTen YearsYears ofof Qstuff*Qstuff* IsIs itit goodgood enoughenough alreadyalready ?? RuiRui NunoNuno CapelaCapela rncbc.orgrncbc.org AprilApril 20152015 TenTen YearsYears ofof Qstuff*Qstuff* (1)(1) GoodGood SoftwareSoftware TakesTakes TenTen Years.Years. GetGet UsedUsed ToTo it.it. –– JoelJoel Spolsky,Spolsky, 20012001 http://www.joelonsoftware.com TenTen YearsYears ofof Qstuff*Qstuff* (2)(2) writingwriting goodgood applicationsapplications isis hardhard.. writingwriting goodgood graphicalgraphical applicationsapplications isis harderharder.. writingwriting goodgood graphicalgraphical audioaudio applicationsapplications isis harderharder stillstill.. writingwriting goodgood graphicalgraphical audioaudio && MIDIMIDI applicationsapplications isis anan exerciseexercise inin masochismmasochism.. –– PaulPaul Davis,Davis, 20032003 “Some Things You May Not Have Thought About When Writing an Audio Application” LADC2003@ZKM-Karlsruhe 2003-20042003-2004 TheThe DawnDawn ofof Qstuff*Qstuff* ● QjackCtlQjackCtl qjackctl.sourceforge.netqjackctl.sourceforge.net jackaudio.orgjackaudio.org ● QsynthQsynth qsynth.sourceforge.netqsynth.sourceforge.net fluidsynth.orgfluidsynth.org ● QsamplerQsampler qsampler.sourceforge.netqsampler.sourceforge.net linuxsampler.orglinuxsampler.org Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 4 2005-20072005-2007 EnterEnter QtractorQtractor OfficiallyOfficially presentedpresented toto thethe massesmasses onon LAC2007@TU-BerlinLAC2007@TU-Berlin Techno-boyTechno-boy bedroombedroom studiostudio,, anyoneanyone ?? (still(still afterafter aa decadedecade ?? :-)):-)) NotableNotable milestones:milestones: 20082008 DSSI,DSSI, nativenative VST,VST, Tempo-mapTempo-map 20092009 LV2LV2 20112011 TYOQATYOQA Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 5 2008-20112008-2011 SideworksSideworks ● QXGEditQXGEdit qxgedit.sourceforget.netqxgedit.sourceforget.net ● QmidiCtlQmidiCtl qmidictl.sourceforge.netqmidictl.sourceforge.net ● QmidiNetQmidiNet qmidinet.sourceforge.netqmidinet.sourceforge.net Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 6 2012-20152012-2015 Proto-toysProto-toys a.k.a.a.k.a. TheThe Vee-OneVee-Oness ● synthv1synthv1 synthv1.sourceforge.netsynthv1.sourceforge.net ● samplv1samplv1 samplv1.sourceforge.netsamplv1.sourceforge.net ● drumkv1drumkv1 drumkv1.sourceforge.netdrumkv1.sourceforge.net Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 7 WhoWho isis behindbehind Qstuff*Qstuff* ?? HobbyHobby workwork ofof oneone lone-wolflone-wolf developerdeveloper me,me, rncbcrncbc a.k.a.a.k.a. RuiRui NunoNuno CapelaCapela aa giftgift economyeconomy playerplayer ;-);-) Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 8 ButBut whywhy ?? JustJust forfor funfun TheThe motivemotive .. .. .. LongLong timetime enthusiasmenthusiasm onon electronicelectronic musicmusic TheThe skillskill .. .. .. AA half-lifehalf-life onon programmingprogramming (20y+)(20y+) TheThe momentmoment .. .. .. AnAn extraordinaryextraordinary alignmentalignment eventevent occurredoccurred inin thethe wholewhole UniverseUniverse .. .. .. So,So, thatthat waswas itit !! (and(and stillstill isis ;-));-)) Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 9 BackBack toto Qtractor...Qtractor... qtractor.sourceforge.netqtractor.sourceforge.net BetaBeta already!already! FullyFully functionalfunctional (no(no not-implemented-yetsnot-implemented-yets)) WhatWhat YouYou SeeSee IsIs WhatWhat IsIs WorkingWorking StillStill W.I.P.W.I.P. …… justjust notnot thatthat hardhard anymoreanymore ;);) OpenOpen forfor BusinessBusiness (no(no moneymoney involved)involved) users,users, developers,developers, players,players, nurturersnurturers .. .. .. Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 10 FeaturitisFeaturitis (1)(1) Multi-trackMulti-track audioaudio andand MIDIMIDI sequencingsequencing andand recording.recording. DevelopedDeveloped onon purepure Qt4Qt4 C++C++ applicationapplication frameworkframework (Qt5(Qt5 ready!).ready!). UsesUses JACKJACK forfor audioaudio andand ALSAALSA sequencersequencer forfor MIDI,MIDI, asas multimediamultimedia infrastructures.infrastructures. TraditionalTraditional multi-trackmulti-track tapetape recorderrecorder controlcontrol paradigm.paradigm. Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 11 FeaturitisFeaturitis (2)(2) AudioAudio filefile formatsformats support:support: OGGOGG (libvorbis),(libvorbis), MP3MP3 (libmad,(libmad, playbackplayback only),only), WAV,WAV, FLAC,FLAC, AIFFAIFF andand many,many, manymany moremore (libsndfile).(libsndfile). StandardStandard MIDIMIDI filesfiles supportsupport (format(format 00 andand 1).1). Non-destructive,Non-destructive, non-linearnon-linear editing.editing. UnlimitedUnlimited numbernumber ofof trackstracks perper session/project.session/project. UnlimitedUnlimited numbernumber ofof overlappingoverlapping clipsclips perper track.track. Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 12 FeaturitisFeaturitis (3)(3) XMLXML encodedencoded sessionsession // projectproject descriptiondescription filesfiles (SDI).(SDI). Point-and-click,Point-and-click, multi-select,multi-select, drag-and-dropdrag-and-drop interactioninteraction (drag,(drag, move,move, drop,drop, cut,cut, copy,copy, paste,paste, paste-repeat,paste-repeat, delete,delete, split,split, merge).merge). UnlimitedUnlimited undoundo // redo.redo. Built-inBuilt-in mixermixer andand monitormonitor controls.controls. Built-inBuilt-in connectionconnection patch-baypatch-bay controlcontrol andand persistencepersistence ((a-laa-la QjackCtlQjackCtl ;)).;)). Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 13 FeaturitisFeaturitis (4)(4) LADSPA,LADSPA, DSSI,DSSI, nativenative VSTVST andand LV2LV2 plug-insplug-ins support.support. UnlimitedUnlimited numbernumber ofof plug-insplug-ins perper tracktrack oror bus.bus. Plug-inPlug-in presets,presets, programsprograms andand chunkchunk // configurationsconfigurations support.support. UnlimitedUnlimited audioaudio effecteffect sendsend // returnreturn insertsinserts perper tracktrack oror bus.bus. Loop-recordingLoop-recording // takes.takes. Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 14 FeaturitisFeaturitis (5)(5) AudioAudio // MIDIMIDI clipclip fade-in/outfade-in/out (linear,(linear, quadratic,quadratic, cubic).cubic). AudioAudio // MIDIMIDI clipclip gaingain // volume,volume, normalize,normalize, export.export. AudioAudio // MIDIMIDI tracktrack andand pluginplugin parameterparameter automationautomation (dynamic(dynamic curves,curves, sample&hold,sample&hold, linearlinear andand splinespline modes).modes). AudioAudio clipclip time-stretchingtime-stretching (WSOLA-like,(WSOLA-like, librubberband).librubberband). AudioAudio clipclip pitch-shiftingpitch-shifting (librubberband).(librubberband). Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 15 FeaturitisFeaturitis (6)(6) AudioAudio clipclip seamlessseamless sample-ratesample-rate conversionconversion (libsamplerate).(libsamplerate). AudioAudio // MIDIMIDI tracktrack exportexport (mix-down,(mix-down, merge).merge). AudioAudio // MIDIMIDI metronomemetronome barbar // beatbeat clicks.clicks. UnlimitedUnlimited tempotempo // time-signaturetime-signature map.map. UnlimitedUnlimited locationlocation // barbar markers.markers. Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 16 FeaturitisFeaturitis (7)(7) MIDIMIDI clipclip editoreditor (matrix(matrix // pianopiano roll).roll). MIDIMIDI instrumentinstrument definitionsdefinitions ((a-laa-la Cakewalk(tm)Cakewalk(tm) (*.ins)),(*.ins)), SoundFontSoundFont (*.sf2)(*.sf2) andand MIDIMIDI NamesNames XMLXML (*.midnam)(*.midnam) filesfiles alsoalso supported.supported. MIDIMIDI controllercontroller mappingmapping // learnlearn // assignmentassignment (mixer(mixer andand plug-inplug-in parameters).parameters). MIDIMIDI systemsystem exclusiveexclusive (SysEx)(SysEx) setups.setups. Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 17 FeaturitisFeaturitis (8)(8) JACKJACK transporttransport syncsync mastermaster // slave.slave. JACKJACK sessionsession support.support. NSMNSM (Non(Non SessionSession Management)Management) support.support. MMCMMC controlcontrol surfacesurface enabled.enabled. MIDIMIDI SongSong PositionPosition cueingcueing support.support. ConfigurableConfigurable keyboardkeyboard shortcuts.shortcuts. Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 18 ScreenshotScreenshot !! Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 19 EvilEvil FlowFlow DiagramDiagram (1)(1) Input Output in monitor out Bus Bus monitor Track R Clips M S monitor = Volume / Pan Track Plug-ins R Clips M S R = Record ... M = Mute monitor S = Solo Track R Clips M S ... Input Output in monitor out Bus Bus monitor Track R Clips M S Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 20 EvilEvil FlowFlow DiagramDiagram (2)(2) Audio strip vol pan plug-ins Audio in Audio out meter Plug-ins Audio fx Audio fx Audio fx Audio fx Audio in Audio out Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 21 EvilEvil FlowFlow DiagramDiagram (3)(3) MIDI strip vol pan MIDI out MIDI in plug-ins Audio out meter plug-ins MIDI fx MIDI Audio fx Audio fx instrument MIDI in Audio out Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org April 2015 22 Ten Years of Qstuff* - LAC2015@JGU-Mainz - rncbc.org Years Ten Send /Inserts Return Send Send /Inserts Return Send in

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    27 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us